尝试比较两个CSV导入的词典时出现Python错误

2024-05-23 13:55: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'

有人知道如何解决这个问题吗


Tags: csvmodeaswithitemsopendummyvalues
1条回答
网友
1楼 · 发布于 2024-05-23 13:55:37

DictReader不返回dict,因此没有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格式来打印变量

相关问题 更多 >