擅长:python、mysql、java
<p>我们可以使用<code>chunksize</code>来使用生成器表达式,一次处理多行并将其写入csv。分块执行此操作可以避免耗尽所有ram</p>
<p>另一个选项是使用<code>Dask</code>,您可以在上面阅读</p>
<p>首先,我们创建一个空白csv,其中包含要写入的目标标题</p>
<pre><code>header_df = pd.read_csv(yourfile,nrows=1)
header_df.iloc[:0].to_csv('target_file',index=False)
chunksize = 5 * 10000 #50k rows.
for chunk in pd.read_csv(your_file,chunksize=chunksize):
#your etl logic.
#assuming your final variable is called target df.
target_df.to_csv(target_file, mode='a', header=False,index=False)
</code></pre>