比较两个CSV文件中的一列数据,在本示例中为第一列。如果找到新数据,请将整行写入新的CSV。我将只使用第一列作为两个CSV文件之间的主键进行操作。
f1.csv
a,adata,adata2
b,bdata,bdata2
c,cdata,cdata2
f2.csv
a,adata,adata2
b,bdata,bdata2
c,cdata,cdata2
d,ddata,ddata2
e,edata,edata2
f,fdata,fdata2
Output:
f3.csv
d,ddata,ddata2
e,edata,edata2
f,fdata,fdata2
代码:
for row1 in reader1:
data = row1[0]
for row2 in reader2:
if data == row2[0]:
print("eq")
else :
print("different")
答案 0 :(得分:0)
假设文件是无序的,则必须先将整个第一个文件的密钥读取到内存中,然后才能检查第二个文件中是否有新密钥。
keys = set()
for row in reader1:
keys.add(row[0])
for row in reader2:
if row[0] not in keys:
writer.writerow(row)
如果排序,您可以做一些更聪明的事情,但这还不清楚。