下面是一个用Python编写的解决方法,用于比较两个大型CSV文件并从差异中生成第三个文件:
import csv
def compare_csv(file1, file2, output_file):
# 读取第一个CSV文件
with open(file1, 'r') as f1:
csv_reader1 = csv.reader(f1)
data1 = set(tuple(row) for row in csv_reader1)
# 读取第二个CSV文件
with open(file2, 'r') as f2:
csv_reader2 = csv.reader(f2)
data2 = set(tuple(row) for row in csv_reader2)
# 计算两个CSV文件的差异
diff_data = data1.symmetric_difference(data2)
# 将差异写入第三个CSV文件
with open(output_file, 'w') as f:
csv_writer = csv.writer(f)
csv_writer.writerows(diff_data)
# 示例用法
compare_csv('file1.csv', 'file2.csv', 'diff.csv')
以上代码首先打开两个输入文件并将它们分别读取为两个集合(其中每一行都是一个元组)。然后使用symmetric_difference
方法计算两个集合的差异。最后,将差异数据写入第三个CSV文件。
上一篇:比较两个大型csv文件