【问题标题】:Retrieve first row of csv using dictionary使用字典检索 csv 的第一行
【发布时间】:2013-07-01 20:38:06
【问题描述】:

我正在使用 csv.DictReader 类读取 csv 文件。 我在python文档上读到 class csv.DictReader(csvfile, fieldnames=None, restkey=None, restval=None, dialect='excel', *args, **kwds)

如果省略 fieldnames 参数,则 csvfile 第一行中的值将用作字段名。

我尝试使用字典的 keys() 方法获取 csv 文件的第一行:

my_reader = csv.DictReader(src)
print(my_reader.keys())

这样做,我得到以下错误:

    print(my_reader.keys())
    AttributeError: 'DictReader' object has no attribute 'keys'

为什么?

【问题讨论】:

    标签: python


    【解决方案1】:

    字段名存储在fieldnames属性中:

    my_reader = csv.DictReader(src)
    print(my_reader.fieldnames)
    

    keys 是一个 dict 方法。 my_reader 不是字典。然而,它是一个产生 dicts 的迭代器,所以你也可以这样做:

    for row in my_reader:
        print(row.keys())
    

    【讨论】:

      猜你喜欢
      • 2013-03-11
      • 2014-01-11
      • 1970-01-01
      • 2021-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-03
      相关资源
      最近更新 更多