将csv导入为字典-无类型错误

时间:2018-10-31 21:37:19

标签: python dictionary

如何将.csv文件导入为字典?

我正在尝试将.csv文件作为字典导入。 .csv文件有两列:名为“ AIRPORT CODE”的键和名为“ AIRPORT”的元素。我首先尝试将其导入为列表,因为我发现它更容易从列表转换为字典。

def load_airports_dict(filename):
    import csv

    reader = csv.reader(open(filename, 'r'))
    data_list = []

    for row in reader:
        data_list.append(row)

    d = { }

    for row in data_list:
        d[row[0]] = row[1]
    print(d)

不幸的是,当我尝试调用一个函数来对字典进行切片时,即使我在函数之外运行代码,它也会给出我要寻找的内容,但我得到“ NoneType”对象无法下标”。

1 个答案:

答案 0 :(得分:2)

  1. 不要在定义中导入内容

  2. 使用with

  3. 您需要一个return语句。

所有这些:

import csv
def load_airports_dict(filename):
    result = {}
    with open(filename, 'r') as handle:
        reader = csv.reader(handle)
        for row in reader:
            result[row[0]] = row[1]
    return result