带大文件的Python 2.5 MemoryError
因为内存错误,我无法读取大文件。其他答案表明这应该有效,有什么问题吗?带大文件的Python 2.5 MemoryError,python,Python,因为内存错误,我无法读取大文件。其他答案表明这应该有效,有什么问题吗? 整个代码是这样的 #Separador de RAMAS.csv por rama import csv archivo_original = open('RAMAS.csv') print archivo_original.readline() 我得到的错误是 Traceback (most recent call last): File "Separador_CSV.py", line 4, in <modu
整个代码是这样的
#Separador de RAMAS.csv por rama
import csv
archivo_original = open('RAMAS.csv')
print archivo_original.readline()
我得到的错误是
Traceback (most recent call last):
File "Separador_CSV.py", line 4, in <module>
print archivo_original.readline()
MemoryError
回溯(最近一次呼叫最后一次):
文件“Separador_CSV.py”,第4行,在
打印archivo_original.readline()
记忆者
我发现Python将文件解释为一个大行。谢谢你的评论,让我找到了问题所在
我在Windows 7中工作,该文件是用其他Python脚本创建的,没有问题,lineterminator='\r'
file.readline
似乎没有在\r
上拆分。如果您使用另一个Python脚本创建了该文件,最好使用\n
而不是\r
再次创建该文件,那么它应该可以工作
带有\r
的示例:
In [14]: open("test", "w").write("foo\rbar\rblub")
In [15]: open("test", "r").readline()
Out[15]: 'foo\rbar\rblub'
带有\n
的示例:
In [16]: open("test", "w").write("foo\nbar\nblub")
In [17]: open("test", "r").readline()
Out[17]: 'foo\n'
如果不可能,您可以使用
file.read(大小以字节为单位)
读取文件的一部分,然后自己重新创建行。行有多长?!可以使用file.read(大小以字节为单位)
以块的形式读取文件(和超长行)?行的最大长度应为200个字符。使用记事本++和Excel可以正确打开较小的文件。我在Windows 7中工作,该文件是用其他Python脚本创建的,没有问题,lineterminator='\r'文件。readline
似乎没有在\r
上拆分。如果您使用另一个Python脚本创建了该文件,最好使用\n
而不是\r
再次创建它,那么它应该可以工作。有没有办法告诉Python将\r解释为换行符?@José不确定,我想应该有,但是我在open
或file.read
@José上找不到这样的参数,我想您可以使用csv.reader
并配置相应的方言。即使文件不是CSV,您也可以将其读取为仅包含一列的CSV文件。