在Linux上用Python高效读取带Windows换行的CSV文件
下面的代码可以在Windows系统上逐行读取csv文件。
f = open(filename, 'r')
for line in f:
不过,当把这个csv文件复制到Linux服务器上时,就会出问题。
需要提到的是,性能是个问题,因为这些csv文件非常大。所以我担心在使用像strip这样的操作时,会影响字符串的复制效率。
5 个回答
4
嗯……你有csv文件,而且你在用Python,为什么不直接用Python的csv模块来读取这些文件呢?
6
如果性能很重要,为什么你不使用 csv.reader
呢?
7
Python 自带了对 Windows、Linux 和 Mac 的换行符的支持:
f = open(filename, 'rtU')
for line in f:
...
如果你真的不想让字符串操作变得慢,你应该在处理文件之前先去掉多余的空白。你可以使用 dos2unix 这个工具(它可以在 Debian 的 "tofrodos" 包里找到),或者更简单的方法是使用 FTP 的文本模式,这样它会自动帮你处理。