我想打印(stdout)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]
但是,使用此代码的输出打印前两列。
有什么建议吗?
答案 0 :(得分:14)
您想要打印一行,但您的代码要求打印每行的第一个和第二个成员
由于你想要打印整行 - 你可以简单地打印它,另外,只读前两行
#!/usr/bin/env python
import csv
afile = open('<directory>/*.csv', 'r+')
csvReader1 = csv.reader(afile)
for i in range(2):
print csvReader1.next()
答案 1 :(得分:5)
通常,您可以使用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