我试图使用CSV模块在Python中提取CSV文件的头。
CSV文件非常简单,看起来像:
This, That, The Other
1, 2, 3
我正在做以下工作:
.fieldnames
属性分配给变量并打印它下面是一段代码:
datafile = open(fname, "rb")
reader = csv.reader(datafile) #use csv module to parse in the header
reader.next() # read next line so header will be accessed
rfd_header = reader.fieldnames
print "header:\n"
print rfd_header
这将导致错误:
AttributeError: '_csv.reader' object has no attribute 'fieldnames'
这听起来好像不存在.fieldnames
属性,但在Python2.6.6的文档中(与我使用的Python版本相同)
我希望能对这个秘密有所了解。如果有另一种方法来提取标题,那也太棒了!
谢谢。
尝试
csv.DictReader
,而不是csv.reader
。文件上也说:DictReader对象具有以下公共属性:
csvreader.fieldnames-如果在创建对象时未作为参数传递,则在首次访问或从文件中读取第一条记录时初始化此属性。
http://docs.python.org/library/csv.html
如果您真的想使用csv.reader而不是csv.DictReader,您只需要替换
由
如果您需要列表中的结果,可以采取:
这应该将第一行(header/fields)存储到变量“rfd_header”
然后您可以迭代变量的值并将其放入列表中
然后你可以打印结果
相关问题 更多 >
编程相关推荐