【发布时间】:2011-02-22 05:01:06
【问题描述】:
嗨 我有一个读取 csv 文件的代码
import csv
d = csv.reader(open('C:/Documents and Settings/242481/My Documents/file.csv'))
for row in d:
print row
此代码返回 csv 文件中的所有行 有什么办法可以一次读一行。 每次执行打印行时,我都需要获取下一行。 提前致谢 阿迪思
【问题讨论】:
嗨 我有一个读取 csv 文件的代码
import csv
d = csv.reader(open('C:/Documents and Settings/242481/My Documents/file.csv'))
for row in d:
print row
此代码返回 csv 文件中的所有行 有什么办法可以一次读一行。 每次执行打印行时,我都需要获取下一行。 提前致谢 阿迪思
【问题讨论】:
它应该按照您的方式工作,但 EOL 字符可能不是您所使用的系统所期望的。尝试用 'rU' 打开它: open('file.csv', 'rU')
要验证它一次打印一行,您可以在行之间打印一个空行:
for row in d:
print row
print
或暂停:
对于 d 中的行: 打印行 raw_input('继续->')对于您的其他代码,它应该类似于:
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 类名。尽管您可以按照自己的意愿使用它们,但这样做可能会导致以后难以发现错误。
【讨论】: