我试图通过匹配两个.csv文件的数据,通过匹配两个文件的第一列来在python中创建一个字典。这就是我到目前为止所拥有的
import csv
with open('a.csv', 'r') as my_file1 :
rows1 = list(csv.reader(my_file1))
with open('aa.csv', 'r') as my_file2 :
rows2 = list(csv.reader(my_file2))
max_length = min(len(rows1), len(rows2))
for i in range(10):
new_dict = {}
if (rows1[i][0]== rows2[i][0]):
temp = {(rows1[i][0], (rows1[i][5], rows1[i][6], rows2[i][5], rows2[i][6] )) }
new_dict.update(temp)
print(new_dict)
我得到的输出是数组中的最后一个数据条目。它似乎没有附加所有值。这就是输出的样子
{'2016-09-12': ('1835400', '45.75', '21681500', '9.78')}
而不是包含键和值的完整列表。我该如何纠正这个?谢谢!
答案 0 :(得分:1)
您在for
的每次迭代中都创建了一个新字典,因此只保留上一次迭代的更新,而其他迭代则被丢弃。
您可以通过在for
:
new_dict = {}
for i in range(10):
...