【发布时间】:2020-11-09 20:30:47
【问题描述】:
我正在尝试读取 csv 文件并将其写入字典。 Col 1 将是我的密钥,col 2 将是我正在写的项目。但是,它似乎有效,当我打印字典时,字典中只出现最后一行。
def compare_csv(fileone, filetwo):
dict1 = {}
with open(fileone, 'r') as dataset1:
for line in csv.DictReader(dataset1):
dict1.update(line)
print(dict1)
这是我的 csv 文件的样子
id,num
1,123
2,23,2,3
3,41,78
这是我打印字典时得到的结果
`{'id': '3', 'num': '41, 78'}`
我想要的是
{'id': 'num', '1': '123', '2': '23, 2, 3', '3': '41, 78'}
我不确定为什么会发生这种情况,因为当我使用我的 for 循环时不会迭代每一行,以便 DictReader 将 col1 作为键读取 col2 作为项目?另外,附带的问题是这是搜索和比较某些东西的最有效方法。例如,我正在遍历我的所有字典键(id)并查看项目是否与另一个列表匹配。例如,如果我在键 2 上,我正在检查另一个列表以查看数字 23、2 和 3 是否都在该列表中。我曾考虑过使用 panda,但我无法将其安装在此处的系统上。
【问题讨论】:
标签: python csv dictionary