Generator对象没有属性项

问题描述 投票:0回答:1

在将生成器转换为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'
python pandas dataframe dictionary generator
1个回答
0
投票

cvs.DictReader 不是一个字典。我相信你可以直接调用 pd.DataFrame(reader) (在Python 3.8中改为直接返回行作为字典)。


0
投票

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

reader 是一个字典的生成器。由于你可以用一个可迭代的字典来喂养一个数据框架,你可以只做。

df = pd.DataFrame(reader)
© www.soinside.com 2019 - 2024. All rights reserved.