擅长:python、mysql、java
<p>原则上,它不应该耗尽内存,但目前由于一些复杂的Python内部问题(这是一个模糊的问题,但已经知道很长一段时间了:<a href="http://github.com/pydata/pandas/issues/407">http://github.com/pydata/pandas/issues/407</a>),大型文件上的<code>read_csv</code>存在内存问题。</p>
<p>目前还没有一个完美的解决方案(这里有一个乏味的解决方案:您可以逐行将文件转录成预先分配的NumPy数组或内存映射文件——<code>np.mmap</code>),但这是我将在不久的将来研究的解决方案。另一种解决方案是以较小的片段读取文件(使用<code>iterator=True, chunksize=1000</code>),然后与<code>pd.concat</code>连接。当你在一个大的slurp中把整个文本文件拉入内存时,问题就来了。</p>