将生成器转换为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'
答案 0 :(得分:0)
cvs.DictReader
不是字典。我相信您可以直接调用pd.DataFrame(reader)
(在Python 3.8中已更改为直接返回行作为字典)。
答案 1 :(得分:0)
之后
reader = (
dict((k, v.strip()) for k, v in row.items() if v) for row in reader)
reader
是字典的生成器。正如您可以使用可重复的dict来填充数据框一样,您可以执行以下操作:
df = pd.DataFrame(reader)