我正在使用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'
为什么?
答案 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())