擅长:python、mysql、java
<p>你有:</p>
<pre><code>with open(cvs_list, 'r') as in_file:
csv_in = csv.reader(in_file, quoting=csv.QUOTE_ALL)
filtered_list = []
row1 = next(csv_in)
filtered_list.append(row1)
for row in csv_in:
if int(row[2]) >= 2011:
row.append(filtered_list)
# WRONG! you are opening the same file for output
# in the upper block
with open(cvs_list, 'w') as out_file:
writer = csv.writer(out_file)
writer.writerows(filtered_list)
</code></pre>
<p>同时读写tmp文件,然后将tmp文件复制到源文件上,这比<em>要好得多。在</p>
<p>像这样:</p>
^{pr2}$
<p>然后在<code>with</code>块的末尾,您可以将临时文件复制到源文件的顶部:</p>
<pre><code>from shutil import move
move(tmp_file, cvs_list)
</code></pre>