首页 > 解决方案 > 将 CSV 行附加到字典仅允许一定数量的项目到字典

问题描述

我正在从一个包含大约 14k 行的 csv 文件创建一个字典。将行附加到数组可以找到它附加所有行。但是当我试图附加到我想要的字典时,它只附加了 55 个项目。我不确定为什么会这样。位置是字符串,数字是字符串整数。

import csv

dictionary = {} #Length of dictionary is only 55
location = [] #Length of location and number is 13,792
number = []

with open('C:/Users/././.csv') as c:
    csvReader = csv.reader(c, delimiter=',')
    for row in csvReader:
        location.append(row[3])
        number.append(row[11])
        dictionary[row[3]] = row[11]

标签: pythonlistcsvdictionary

解决方案


Dict 键是唯一的,通过为现有键分配一个新值,它会覆盖该键的先前值。由于您很可能只有 55 个唯一位置并且每个位置有多个数字,因此您可以使用列表的 dict 作为数据结构:

for row in csvReader:
    dictionary.setdefault(row[3], []).append(row[11])

推荐阅读