4

我正在使用 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'

为什么?

4

1 回答 1

3

字段名存储在属性中fieldnames

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

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

for row in my_reader:
    print(row.keys())
于 2013-07-01T20:43:01.057 回答