您好 我有一个代码来读取csv文件
import csv
d = csv.reader(open('C:/Documents and Settings/242481/My Documents/file.csv'))
for row in d:
print row
此代码返回csv文件中的所有行 有什么办法可以一次读一行。 每次我执行打印行我都需要获得下一行。 提前致谢 Aadith
答案 0 :(得分: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类名。尽管您可以按照自己的方式使用这些方法,但这样做可能会导致以后难以发现的错误。