在将生成器转换为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'
cvs.DictReader
不是一个字典。我相信你可以直接调用 pd.DataFrame(reader)
(在Python 3.8中改为直接返回行作为字典)。
在
reader = (
dict((k, v.strip()) for k, v in row.items() if v) for row in reader)
reader
是一个字典的生成器。由于你可以用一个可迭代的字典来喂养一个数据框架,你可以只做。
df = pd.DataFrame(reader)