2011-01-06 153 views
0

我对Python(和编程)非常陌生,所以我被一些csv读数卡住了。python中的CSV阅读问题

我在行中有一个csv文件我有相同的顺序(在行中的第一个条目是id为例如1-4)的测量数据。我想从行到行获取数据,我找到了reader.next()函数,但它对我来说有点奇怪。

for line in reader: 
    print reader.next() 

而且我只从第2行和第4行获取数据。

['2', '112', '14.3654', '90.4555', '105.45'] 
['4', '114', '180.2115', '90.4555', '105.45'] 

另一个问题是我怎样才能在行中单独的条目? (例如:从行ID第二条第三条目14.3654

感谢任何帮助。

回答

8

你并不需要调用reader.next(),只是这样做:

for line in reader: 
    print line 

这将遍历每行您的CSV文件,并打印成列表:

the documentation on next

将读者的可迭代对象的下一行作为列表返回,按照当前的方言进行解析。

你正在做的是为文件中的每一行打印下一行。第一次通过循环(您的for循环正在查看第1行),它将打印第二行,并且在CSV文件中的内部位置将为第2行。进入循环的下一次迭代将增加您的循环因此,在CSV文件位置排队3.印刷reader.next()打印线4

为了获得每行,可以使用标符号访问它,个别条目,仿佛这是一个列表:

for line in reader: 
    print line[0] 

有关使用列表的好介绍,请参阅Dive Into Python's introduction to lists

+0

感谢,这是有用的,并链接太 – nzoltan 2011-01-06 13:04:04

2

你想

for line in reader: 
    print line 

然后在行各个条目,你可以有:

for entry in line: 
    print entry