开发者

Python 3.2 skip a line in csv.DictReader

How do I skip a line of records in a CSV when using a DictReader?

Code:

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

Error:

Traceback (most recent call 开发者_高级运维last):
  File "learn.py", line 3, in <module>
    reader.next()
AttributeError: 'DictReader' object has no attribute 'next'


You use next(reader) instead.

Source: csv.DictReader documentation


Since Python 2.6 you should use next(foo) instead of foo.next().


It was considered a mistake in python2 to have the method called next() instead of __next__()

next(obj) now calls obj.__next__() just like str, len etc. as it should.

You usually wouldn't call obj.__next__() directly just as you wouldn't call obj.__str__() directly if you wanted the string representation of an object.

Handy to know if you find yourself writing unusual iterators

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜