gpt4 book ai didi

python - csvreader.fieldnames 不被识别为 python 中的 csv 阅读器对象的属性

转载 作者:太空狗 更新时间:2023-10-30 00:30:38 25 4
gpt4 key购买 nike

我正在尝试使用 CSV 模块在 Python 中提取 CSV 文件的 header 。

CSV 文件非常扁平,看起来像:

This, That, The Other

1, 2, 3

我正在做以下事情:

  1. 读入CSV文件并使读者成为对象
  2. 将读取器的迭代器推到下一行以强制它至少访问第一行一次(来自 csv 模块文档:“如果在创建对象时未作为参数传递,则此属性在第一次访问时初始化或从文件中读取第一条记录。")
  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 属性不存在,但在 Python 2.6.6 的文档中(我正在使用相同版本的 python)

如果能深入了解这个谜团,我将不胜感激。如果有另一种提取 header 的方法,那也太棒了!

谢谢。

最佳答案

如果你真的想使用 csv.reader 而不是 csv.DictReader,你需要做的就是替换

reader.next() # read next line so header will be accessed
rfd_header = reader.fieldnames

通过

rfd_header = reader.next()

关于python - csvreader.fieldnames 不被识别为 python 中的 csv 阅读器对象的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3945848/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com