Python 3.2 在 csv.DictReader 中跳过一行

发布于 2024-10-14 05:30:56 字数 392 浏览 1 评论 0原文

使用 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'

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'

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

扭转时空 2024-10-21 05:30:56

您可以使用 next(reader) 来代替。

来源: csv.DictReader 文档

You use next(reader) instead.

Source: csv.DictReader documentation

孤单情人 2024-10-21 05:30:56

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

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

内心旳酸楚 2024-10-21 05:30:56

在 python2 中,将方法称为 next() 而不是 __next__() 被认为是一个错误

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

您通常不会直接调用 obj.__next__(),就像您想要对象的字符串表示形式时不会直接调用 obj.__str__() 一样。

方便了解您是否发现自己编写了不寻常的迭代器

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文