以下是在Windows下逐行读取csv文件。
f = open(filename, 'r')
for line in f:
虽然在将csv文件复制到Linux服务器时,它会失败。
应该提到的是,性能是一个问题,因为csv文件非常庞大。因此,我在使用像strip这样的东西时会担心字符串复制。
答案 0 :(得分:7)
Python内置了对Windows,Linux和Mac系列结尾的支持:
f = open(filename, 'rtU')
for line in f:
...
如果您真的不想要慢速字符串操作,则应在处理之前删除文件。你可以使用dos2unix(可以在Debian软件包中找到“tofrodos”)或者(更容易)使用FTP文本模式,它应该自动执行。
答案 1 :(得分:6)
如果效果很重要,为什么不使用csv.reader
?
答案 2 :(得分:4)
嗯....你有csv文件,你使用的是Python,为什么不用Python csv模块读取文件?
答案 3 :(得分:1)
dos2unix实用程序将非常有效地执行此操作。如果文件很大,我会将该命令作为副本的一部分运行。
答案 4 :(得分:0)
实际上,读取任何文件的高效方式最多的是一个大的I / O.没有足够的RAM可以做到这一点,但I / O越少越好。