2011-10-05 68 views
4

我想打印(标准输出)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] 

然而,使用此代码打印我的输出第一两列。

有什么建议吗?

回答

13

你想打印一排,但你的代码询问既然你要打印的全行打印每一行

的第一和第二部件 - 你可以简单地打印出来,此外,只读前两个

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

好编辑,但不是向前兼容 - '的.next()''是下一个.__ __()'关于Python 3 – agf

+0

+1的循环结构,这使得打印第一'ñ '文件的行 – heltonbiker

+1

@Ofir:谢谢!这似乎打印标题信息后面的前两行。我希望打印标题行,然后打印它下面的下一行。 – Czed

5

一般情况下,你可以限制与itertools.islice功能迭代器:

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

或者通过创造性地运用zip()

相关问题