通过组合两个.csv文件在python中创建字典

时间:2016-10-06 16:53:46

标签: python dictionary

我试图通过匹配两个.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')}

而不是包含键和值的完整列表。我该如何纠正这个?谢谢!

1 个答案:

答案 0 :(得分:1)

您在for的每次迭代中都创建了一个新字典,因此只保留上一次迭代的更新,而其他迭代则被丢弃。

您可以通过在for

之外移动字典设置来解决此问题
new_dict = {}
for i in range(10):
    ...