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 не работает должным образом, может кто-нибудь дать какой-нибудь совет?

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]])