我一直在尝试比较两个CSV文件,方法是先将它们转换为字典。这是我使用的代码:
import csv
with open('BDP DUMMY.csv', mode='r') as infile1:
reader1 = csv.DictReader(infile1)
mydict1 = reader1
with open('OBP DUMMY.csv', mode='r') as infile2:
reader2 = csv.DictReader(infile2)
mydict2 = reader2
for k,v in zip(mydict1.items(), mydict2.items()):
if mydict1_values == mydict2_values:
print ('Ok', mydict1_values, mydict2_values)
else:
print ('Not', mydict1_values, mydict2_values)
但是,我收到一条错误消息:
'DictReader' object has no attribute 'items'
有人知道如何解决此问题吗?
答案 0 :(得分:0)
DictReader
不会向您返回命令,因此不具有items
属性。
如果您以后想使用/比较它们,可以将它们存储在列表中。
import csv
with open('BDP DUMMY.csv','r') as f:
reader = csv.DictReader(f)
content1 = [i for i in reader]
with open('OBP DUMMY.csv','r') as f:
reader = csv.DictReader(f)
content2 = [i for i in reader]
for v1,v2 in zip(content1,content2):
if v1 == v2:
print('OK - v1:{}, v2{}'.format(v1,v2))
else:
print('NOT - v1:{}, v2{}'.format(v1,v2))
我还使用了.format
格式来打印变量。