Compare 2 seperate csv files and write difference to a new csv file - Python 2.7

后端 未结 3 1241
南旧
南旧 2021-01-26 05:21

I am trying to compare two csv files in python and save the difference to a third csv file in python 2.7.

import csv

f1 = open (\"olddata/file1.csv\")
oldFile1         


        
3条回答
  •  臣服心动
    2021-01-26 06:15

    import csv
    
    def read_csv_file(filename):
        res = []
        with open(filename) as f:
             for line in csv.reader(f):
                   res.append(line)
    
    
    oldList1 = read_csv_file("olddata/file1.csv")
    oldList2 = read_csv_file("olddata/file2.csv")
    
    
    difference_list = []
    
    for a,b in zip(oldList1,oldList2):
       if a != b:
           difference_list.append(a + '\t' + b)
    

    Eventually you have a list of items and you can just write them to file.

    EDIT: In this situation, [a,b,c] vs [b,c,a] will fail. If you know that [a,b,c] vs [b,c,a] should return no difference, use the following code pls.

    import csv
    
    def read_csv_file(filename):
        res = []
        with open(filename) as f:
             for line in csv.reader(f):
                   res.append(line)
    
    
    oldList1 = read_csv_file("olddata/file1.csv")
    oldList2 = read_csv_file("olddata/file2.csv")
    
    
    difference_list = []
    
    for a in oldList1:
      for b in oldList2:
        if a != b:
           difference_list.append(a + '\t' + b)
    

提交回复
热议问题