找出两个csv文件的区别

时间:2014-08-26 07:58:42

标签: python csv

我有两个名为x.csvy.csv的csv文件。 x.csv只有一行 - Column A:0, Column B:1, Column C:2, Column D:3。在y.csv中,只有一行 - Column A:2, Column B:3, Column C:4。我需要使用python找到两个csv文件的区别并输出到第三个csv文件。

到目前为止,我已尝试with open('x.csv','rb') as f1, open('y.csv','rb') as f2

1 个答案:

答案 0 :(得分:0)

从我对这个问题的理解,这应该比较文件并创建第三个csv与每个单元格的差异。就个人而言,我认为这不是一个非常优雅的解决方案,并且会在一系列场景中崩溃,但它至少应该让你开始。这部分是基于评论中给出的相关Q / A.

import csv


def csv_get(csvfile):
    with open(csvfile) as f:
        for row in csv.reader(f):
            for i in row:
                yield i


def csv_cmp(csvfile1, csvfile2, output):
    row = []
    read_file_2 = csv_get(csvfile2)

    for value_1 in csv_get(csvfile1):
        value_2 = read_file_2.next()
        print("File 1: {} File 2: {}").format(value_1, value_2)
        difference = int(value_1) - int(value_2)
        row.append(difference)

    with open(output, "w") as output_file:
        csv.writer(output_file).writerow(row)

    read_file_2.close()

csv_cmp(csvfile1="C:\\...\\a.csv",
        csvfile2="C:\\...\\b.csv",
        output="C:\\...\\c.csv")