KeyError Filling Defaultdict Python
Я пытаюсь заполнить словарь по умолчанию с данными csv, и я получаю ключевую ошибку
for i in range(0,1): #https://docs.python.org/2/library/collections.html#collections.defaultdict result = co.defaultdict(list) with open(os.path.join(inputdir,tablelist[i])) as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) read = csv.DictReader(f) for line in read: for j in range(1,len(csv_headings)): error here--->result[line[csv_headings[0]]].append(line[csv_headings[j]])
для данных csv
API,CNTYNM,PRMT, 4700100002,Barbour,2, 4700100003,Barbour,3, 4700100004,Barbour,4,
ключевая ошибка для API, которая означает для меня, что что-то с dictreader не работает должным образом, может кто-нибудь дать какой-нибудь совет?
- найти значение в dict?
- Форматирование dict.items () для wxPython
- Как автоматически создать значение из не существующего ключа с помощью функции
- Самый эффективный способ поиска в списке dicts
- Prettyprint для файла?
DictReader
аргумент имени DictReader
для DictReader
. Если вы измените свой код для передачи csv_haedings
в DictReader
он будет работать (надеюсь, как и ожидалось):
for i in range(0,1): #https://docs.python.org/2/library/collections.html#collections.defaultdict result = co.defaultdict(list) with open(os.path.join(inputdir,tablelist[i])) as f: csv_reader = csv.reader(f) csv_headings = next(csv_reader) read = csv.DictReader(f, fieldnames=csv_headings) for line in read: for j in range(1,len(csv_headings)): result[line[csv_headings[0]]].append(line[csv_headings[j]])
- Как проверить, находится ли вход за пределами моего списка слов?
- Python – значения суммы в словаре
- Почему 008 и 009 недействительные ключи для Python dicts?
- Композитные клавиши в словарях
- Как Python может иметь несколько ключей с одинаковым хэшем?
- Объединение ключевых значений в словаре
- понимание python dict с двумя диапазонами
- Создание нового dict в Python
- Преобразовать 2 списка элементов в dict