我正在尝试使用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. 哈希表(等概率下)平均查找长度(转)
  2. jquery下拉分页
  3. 聚焦国际农民丰收节贸易会-张桃林:农业谋定开放新格局
  4. distinct 排序_自己造一个排序算法
  5. 活动:北京Xamarin分享会第8期(2017年11月11日)
  6. LeetCode 393. UTF-8 编码验证(位运算)
  7. ipython 模块搜索路径
  8. Unity4.3 2D新特性
  9. 32.go defer
  10. 转:运行yum报错Error: Cannot retrieve metalink for reposit
  11. vue上传图片时,console.log()图片信息遇到的坑
  12. 阿里云云计算 37 PolarDB MySQL的连接
  13. 三级等保 服务器设置密码策略 centos
  14. 第一次发博客,随便说说
  15. 知乎周源微信_每周源代码3
  16. 45个免费LOGO在线制作网站
  17. Java如何生成彩色二维码(利用zxing包)
  18. 金融机构数字化转型对央企建筑公司数字化转型的启示
  19. 9款别出心裁的jQuery插件
  20. Win10台式电脑网线正常但连不上网。

热门文章

  1. video标签播放视频时错误403
  2. IT30:IT男出差备忘录(又当爹又当妈)
  3. 主要厂商产品特点、产品规格、价格、销量、销售收入-全球与中国分布式天线系统设备
  4. Memtest86安装详细教程
  5. 前端页面宽度100%
  6. 树莓派4B--openCV简单教程及人脸识别
  7. 计算机突然无法启动怎么办,电脑突然不能开机怎么办
  8. 【Windows笔记】-----任务管理器发现 NT Kernel System 进程占用CPU很高
  9. 软件测试入门---必会必读必须看
  10. 双十一买哪款蓝牙耳机划算?性价比高的蓝牙耳机排行榜