Импорт CSV в качестве словаря - нет ошибки типа - PullRequest
0 голосов
/ 01 ноября 2018

Как я могу импортировать файл .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 голосов
/ 01 ноября 2018
  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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...