【问题标题】:Generator object has no attribute items生成器对象没有属性项
【发布时间】:2020-04-24 07:31:41
【问题描述】:

将生成器转换为 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'

【问题讨论】:

  • 你能确认reader是一本字典吗?

标签: python pandas dataframe dictionary generator


【解决方案1】:

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

【讨论】:

    【解决方案2】:

    之后

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

    reader 是一个字典生成器。由于您可以使用可迭代的 dicts 提供数据帧,因此您可以这样做:

    df = pd.DataFrame(reader)
    

    【讨论】:

      猜你喜欢
      • 2015-08-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-10-31
      相关资源
      最近更新 更多