Python-尝试比较两个CSV导入的字典时出错

时间:2018-10-23 00:43:37

标签: python

我一直在尝试比较两个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'

有人知道如何解决此问题吗?

1 个答案:

答案 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格式来打印变量。