У объекта генератора нет атрибутов - PullRequest
0 голосов
/ 24 апреля 2020

При преобразовании генератора в Pandas фрейм данных.

reader = csv.DictReader(
    open('/kaggle/input/spanish-football-la-liga-champions/La Liga Champions.csv'),)
# skip the header row
next(reader)
# remove leading and trailing whitespace from all values
reader = (
    dict((k, v.strip()) for k, v in row.items() if v) for row in reader)

df = pd.DataFrame(reader.items(), columns=reader.keys())

Эта ошибка появляется.

AttributeError: 'generator' object has no attribute 'items'

Ответы [ 2 ]

0 голосов
/ 24 апреля 2020

После

reader = (
dict((k, v.strip()) for k, v in row.items() if v) for row in reader)

reader является генератором словарей. Поскольку вы можете заполнить информационный фрейм с помощью итераций диктов, вы можете просто сделать:

df = pd.DataFrame(reader)
0 голосов
/ 24 апреля 2020

cvs.DictReader не словарь. Я полагаю, что вы можете просто напрямую вызвать pd.DataFrame(reader) (он был изменен, чтобы напрямую возвращать строки в виде словарей в Python 3.8).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...