【发布时间】:2014-04-10 17:44:10
【问题描述】:
您好,我在比较两个 csv 文件时需要帮助...并将两个文件中的匹配记录放入一个输出文件中...将不匹配的记录放入另一个输出文件中... 例如:我的第一个 csv 文件包含两列 Name 和 Salary,数据为
A 20000
B 15000
C 10000
D 5000
第二个 CSV 文件包含姓名和薪水,数据为
A 40000
D 10000
B 15000
我的输出应该是两个文件,匹配文件分别包含来自 file1 和 file2 的 B 15000 B 15000 并且第二个文件包含不匹配的记录为
A 20000,A 40000
C 10000,-------(no record in file2)
D 5000, D 10000
【问题讨论】:
-
使用 docs.python.org/2/library/csv.html 和 docs.python.org/2/library/functions.html#map 看看你自己怎么一点都不累我为你指明了正确的方向,我投票赞成结束这个问题,因为它太宽泛了,你应该至少尝试自己解决问题。
-
您可以将您的值放入带有键的字典中,例如
'A':20000,然后比较第二个文件的值,如果它大于字典的值,则将其替换为新文件 -
我试过这个脚本 import csv file1 = open("1.csv", "r") reader1=csv.reader(file1) reader1.next() file2 = open("2.csv ", "r") reader2=csv.reader(file2) reader2.next() file3 = open("file3.txt", "w") file4 = open("file4.txt", "w") file1.seek (0,0) file2.seek(0,0) list1 = file1.readlines() list2 = file2.readlines() for i in list1: for j in list2: if i == j: file3.write(i) file3 .write(j) else : file4.write(i) file4.write(j) 但 itz 也采用标头,并且在所有不匹配的文件中进行比较
标签: python csv comparison