Jython 连接 CSV 文件

0 投票
1 回答
1851 浏览
提问于 2025-04-16 12:16

你好,

我有一段代码用来读取csv文件。

import csv
d = csv.reader(open('C:/Documents and Settings/242481/My Documents/file.csv'))
for row in d:
    print row

这段代码会返回csv文件中的所有行。请问有没有办法让我一次只读取一行?每次我执行打印的那一行时,能不能获取到下一行的数据?

提前谢谢你!

Aadith

1 个回答

0

你这样做应该是可以的,但可能你的系统对行结束符(EOL)字符的要求和你用的有点不一样。你可以试着用'rU'来打开文件:open('file.csv', 'rU')

为了确认它是一次打印一行,你可以在每行之间打印一个空行:


for row in d:
 print row
 print

或者你可以让它暂停一下:

for row in d:
 print row
 raw_input('continue-> ')

对于你的其他代码,应该像这样:


def value():
 infile=open("C:/Documents and Settings/242481/My Documents/file.csv", "rU")
 data = [row for row in infile]
 infile.close()
 return data

记得关闭你打开的文件。这是个好习惯,虽然并不是每次都必须这样做。而且'file'是Python中的一个类名。虽然你可以随意使用这些名字,但这样可能会导致后面出现难以发现的错误。

撰写回答