Я новичок в программировании на python (2.x), и даже часами искал, что не смог решить проблему. Python возвращает KeyError
Файл (объект) .csv:
id,name,type
1,low,player
Код на Python:
import csv
class Item(object):
def setup(self, config):
self.config = config
self.label = config['label']
self.name = config['name']
self.type = config['type']
def create_item(config):
new_item = Item()
new_item.setup(config)
return(new_item)
def populate():
all_items = {}
f = open('object.csv', 'rb')
reader = csv.DictReader(f, delimiter = ',')
for row in reader:
new_item = (create_item(row))
all_items[new_item.label] = new_item
return(all_items)
Python возвращает:
Self.type = config['type']
KeyError: 'type'
Странно то, что как в csv, так и в коде Python заголовок столбца не содержит ошибок ввода. Когда я меняю имя столбца «id», ошибка возвращается к новому заголовку (ранее «id»). (То же самое происходит, когда я добавляю еще один заголовок и пытаюсь его прочитать)
Любая помощь приветствуется и приносит извинения за неудобства. благодарный
'id '
,' name '
&' type'
. Попробуйте напечатать строку перед вызовомcreate_item
, чтобы увидеть это на практике. - person niemmi   schedule 20.02.2017row
- ключи, чего вы ожидали? - person wwii   schedule 20.02.2017