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

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

This, That, The Other

1, 2, 3

我正在执行以下操作:

读取CSV文件并使其成为读者对象

将阅读器的迭代器推到下一行,以强制其至少访问第一行(来自csv模块文档:"如果在创建对象时未作为参数传递,则此属性将在首次访问或第一次记录时初始化从文件中读取。")

将.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:

"

print rfd_header

这会导致错误:

AttributeError: '_csv.reader' object has no attribute 'fieldnames'

听起来好像没有.fieldnames属性,但是在Python 2.6.6的文档中(我使用的是相同版本的python)

我将不胜感激这个谜。如果还有另一种提取标头的方法,那就太棒了!

谢谢。

如果您确实要使用csv.reader而不是csv.DictReader,则只需替换

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

rfd_header = reader.fieldnames

通过

rfd_header = reader.next()

谢谢! 那真的很好。 我可以理解为什么DictReader可能是更好的使用方法,但是对于我的应用程序,我需要一个列表。

这对我没有用。 然后得到_csv.reader object has no attribute next(Python 3)

尝试使用csv.DictReader而不是csv.reader。 该文档也这么说:

DictReader对象具有以下公共属性:

csvreader.fieldnames-如果在创建对象时未作为参数传递,则在首次访问时或从文件中读取第一条记录时会初始化此属性。

http://docs.python.org/library/csv.html

您说得很对,我一定对文档有误读:P我会使用DictReader,但是碰巧我需要一个列表。 谢谢你的小费!

嗯,"此属性在首次访问时初始化"是什么意思? 对我来说,这听起来像是该类也会在需要时对字段名进行延迟初始化。

如果您需要列表中的结果,则可以采取以下措施:

rfd_header = reader.next()

这应该将第一行(标题/字段)存储到变量" rfd_header"

然后,您可以遍历变量的值并放入列表中

headerList = []

for item in rfd_header:

headerList.append(item)

然后您可以打印结果

print headerList

python fieldnames,csvreader.fieldnames无法在python中识别为csv阅读器对象的属性相关推荐

  1. OpenCV中图像的BGR格式 Img对象的属性说明

    1. 图像的BGR格式说明 OpenCV中图像读入的数据格式是numpy的ndarray数据格式.是BGR格式,取值范围是[0,255]. 如下图所示,分为三个维度: 第一维度:Height 高度,对 ...

  2. JavaScript中的高级特性及特别对象、属性和方法

    一,编写构造函数    可以使用 new 运算符结合像 Object().Date() 和 Function() 这样的预定义的构造函数来创建对象并对其初始化.面向对象的编程其强有力的特征是定义自定义 ...

  3. safari阅读模式_如何在Safari中使用和调整阅读器模式

    safari阅读模式 The web can be an ugly place. Sites with useful information can also be cluttered with si ...

  4. python获取方法的装饰方法_python中的方法和装饰器

    [TOC] 装饰器 python中的装饰器(decorator)是在pep 318中被首次引入,它的本质是一个函数这个函数是接受其它参数为参数,并且用一个新的,修改后的函数作为替换,最常见的装饰器就c ...

  5. Python笔记_23_正则相关函数_类中的方法_装饰器_异常

    文章目录 正则相关函数 search 和 match split 切割 sub 替换 finditer 匹配字符串中相应内容,返回迭代器 compile 指定一个统一的匹配规则 正则表达式的修饰符 类 ...

  6. python的内置函数string_Python错误:内置函数或方法对象没有属性“StringIO”

    我只想下载一张图片.然后上传到Amazon S3.但它不起作用.在'builtin_function_or_method' object has no attribute 'StringIO' Tra ...

  7. session中存放一个对象,只修改对象的属性,不将修改后的对象存放session,发现session中存放的对象也发生改变!

    标题简单描述:先将一个对象放入session,只对对象属性值进行修改,但不将修改后的对象存放session中,发现session中存放的对象属性值也相对应的改变. Person person=new ...

  8. Java使用POI操作XWPFDocument中的XWPFParagraph(段落)对象的属性略解

    创建文本对象 XWPFDocument docxDocument = new XWPFDocument(); 创建段落对象 XWPFParagraph paragraphX = docxDocumen ...

  9. poi处理word内容的公式_Java 使用 POI 操作 XWPFDocument 中的 XWPFParagraph(段落)对象的属性略解 Wor - 链滴...

    我用的是office word 2016版 创建文本对象 XWPFDocument docxDocument = new XWPFDocument(); 创建段落对象 XWPFParagraph pa ...

最新文章

  1. java 鼠标停留时,[Java教程]鼠标悬浮停留三秒 显示大图_星空网
  2. 基于各种基础数据结构的SPFA和各种优化
  3. Java调用js方法
  4. Postman用法说明
  5. 我的程序跑了 60 多小时,就是为了让你看一眼 JDK 的 BUG 导致的内存泄漏
  6. k8s 和 Docker 到底是什么关系?
  7. UE4 无法include “filename.generated.h”
  8. javascript---DOM---事件
  9. Jersey 异常处理
  10. go语言中函数与方法重要的区别:
  11. 数据--第23课 - 队列的优化实现
  12. FireFox 64位不支持NPAPI插件,不论是32位还是64位
  13. dell笔记本耳机怎么设置_戴尔笔记本电脑怎样设置耳机
  14. 1 -- > PCI / PCIe 配置空间详解
  15. 如何在公众号添加付费链接
  16. Vue仿网易云PC端的网页
  17. 域名是如何被墙的_域名被墙,域名被墙的解决办法
  18. 解决方案:Java对DateTime的处理
  19. OpenCV4-C++读图、显示图
  20. [附源码]JAVA毕业设计美食推荐管理系统(系统+LW)

热门文章

  1. 博客园的客户端提示是怎么样一个架构
  2. 服务器信息为什么会被窃取,还在用Websockets的JavaScript开发人员们,你们可能会被窃听!...
  3. Mac安装软件提示文件损坏
  4. U盘连接Win10系统电脑后不显示的解决方法
  5. 听说厕所要革命???智慧厕所|智慧公厕|智慧城市
  6. python pycrypto_python3.6安装pycrypto,pycrytodome和crypto
  7. 麻省理工大学线性代数:二十克默拉法则、逆矩阵、体积
  8. sublime安装json格式化插件
  9. 平衡二叉树(Java) -- 左旋旋右旋旋
  10. 阿里云轻量型服务器有什么用处?