使用字典检索第一行csv

时间:2013-07-01 20:38:07

标签: python

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

为什么?

1 个答案:

答案 0 :(得分:3)

字段名存储在属性fieldnames中:

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

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

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