python中的CSV读取问题

0 python csv

我完全是Python(和编程)的新手,所以我坚持使用一些csv读数.

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

for line in reader:
    print reader.next()
Run Code Online (Sandbox Code Playgroud)

我只从第2行和第4行获取数据.

['2', '112', '14.3654', '90.4555', '105.45']
['4', '114', '180.2115', '90.4555', '105.45']
Run Code Online (Sandbox Code Playgroud)

另一个问题是如何在线上单独输入?(例如:从行id 2到第三个条目14.3654)

感谢任何帮助.

Dom*_*ger 8

你不需要打电话reader.next(),只需这样做:

for line in reader:
  print line
Run Code Online (Sandbox Code Playgroud)

这将循环遍历CSV文件中的每一行并将其作为列表打印:

以下文档next:

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

你正在做的是文件中的每一行,打印下一行.第一次通过循环(你的for循环看第1行),它将打印第二行,在内部你在CSV文件中的位置将是第2行.转到循环的下一次迭代将增加你的位置在CSV文件到第3行.reader.next()因此打印打印第4行.

要在每一行上获得单独的条目,您可以使用下标表示法访问它,就好像它是一个列表:

for line in reader:
  print line[0]
Run Code Online (Sandbox Code Playgroud)

有关使用列表的详细介绍,请参阅Dive Into Python的列表简介.