擅长:python、mysql、java
<p>即使逐行读取文件,也会出现内存错误。我想是因为你没有多少可用内存和很大的行。然后应使用二进制读取:</p>
<pre><code>import gzip
#adapt size value : small values will take more time, high value could cause memory errors
size = 8096
with open('test_large.csv', 'rb') as f_in:
with gzip.open('test_out.csv.gz', 'wb') as f_out:
while True:
data = f_in.read(size)
if data == '' : break
f_out.write(data)
</code></pre>