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

时间:2011-10-05 12:49:47

标签: python

我想打印(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]

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

有什么建议吗?

2 个答案:

答案 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