擅长:python、mysql、java
<p>Python有一个<a href="https://docs.python.org/3/library/csv.html" rel="nofollow noreferrer">^{<cd1>} module</a>,这可能会使事情更简单。在</p>
<p>如果您遇到内存问题,我建议您进行强制垃圾回收。您执行<code>import gc</code>,然后在循环中,<code>gc.collect()</code>。它可能不是每个循环都需要的,如果执行得太频繁,甚至会减慢速度。您可以保留一个计数器变量(<code>rowcount</code>可以这样做)并减少执行频率(比如每10000个循环一次)。实验)。考虑添加一个print语句来指示正在发生的集合和行号。这样您就可以判断脚本是否仍在运行或是否已锁定。在</p>
<pre><code>if rowcount % 10000 == 0:
print 'collecting', rowcount
gc.collect()
</code></pre>
<p>如果可以安装外部Python模块,也可以尝试使用<a href="http://pandas.pydata.org/pandas-docs/stable/generated/pandas.read_csv.html#pandas.read_csv" rel="nofollow noreferrer">Pandas to load the csv file</a>。对于非常大的文件,它的性能可能更好,但是如果内存仍然不足,则可能需要指定chunksize。在</p>