将 csv 文件的前两行打印到标准输出

新手上路,请多包涵

我想打印(标准输出)csv 文件的前两行:

 #!/usr/bin/env python
import csv
afile = open('<directory>/*.csv', 'r+')
csvReader1 = csv.reader(afile)
for row in csvReader1:
    print row[0]
    print row[1]

但是,我使用此代码的输出打印了前两列。

有什么建议么?

原文由 Czed 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 475
2 个回答

你想打印一行,但你的代码要求打印每行的第一个和第二个成员

因为你想打印整行 - 你可以简单地打印它,此外,只读前两个

#!/usr/bin/env python
import csv
afile = open('<directory>/*.csv', 'r+')
csvReader1 = csv.reader(afile)
for i in range(2):
    print csvReader1.next()

原文由 Ofir 发布,翻译遵循 CC BY-SA 3.0 许可协议

通常,您可以使用 itertools.islice 函数限制迭代器:

 import itertools
for row in itertools.islice(csvReader1, 2):
    print row

或者创造性地使用 zip()

 for line_number, row in zip(range(2), csvReader1):
    print row

原文由 Petr Viktorin 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题