Jython 连接 CSV 文件
你好,
我有一段代码用来读取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中的一个类名。虽然你可以随意使用这些名字,但这样可能会导致后面出现难以发现的错误。