Python 3.2在csv.DictReader中跳过一行

时间:2011-01-24 22:02:11

标签: python csv python-3.x

使用DictReader时如何跳过CSV中的一行记录?

代码:

import csv
reader = csv.DictReader(open('test2.csv'))
# Skip first line
reader.next()
for row in reader:
    print(row)

错误:

Traceback (most recent call last):
  File "learn.py", line 3, in <module>
    reader.next()
AttributeError: 'DictReader' object has no attribute 'next'

3 个答案:

答案 0 :(得分:22)

您改为使用next(reader)

来源:csv.DictReader documentation

答案 1 :(得分:6)

从Python 2.6开始,你应该使用next(foo)而不是foo.next()。

答案 2 :(得分:6)

在python2中认为使用名为next()而不是__next__()的方法是错误的

next(obj)现在调用obj.__next__()就像strlen等一样。

您通常不会直接调用obj.__next__(),因为如果您想要对象的字符串表示,则不会直接调用obj.__str__()

很容易知道你是否发现自己编写了不寻常的迭代器