擅长:python、mysql、java
<p>我不完全确定您使用的是什么CSV库,但它看起来不像<a href="http://docs.python.org/2/library/csv.html" rel="nofollow">Python's built-in one</a>。不管怎样,我会这样做:</p>
<pre><code>import csv
import itertools
with open('extracted.txt', 'r') as in_file:
stripped = (line.strip() for line in in_file)
lines = (line for line in stripped if line)
grouped = itertools.izip(*[lines] * 3)
with open('extracted.csv', 'w') as out_file:
writer = csv.writer(out_file)
writer.writerow(('title', 'intro', 'tagline'))
writer.writerows(grouped)
</code></pre>
<p>这样就形成了一条管道。它首先从文件中获取数据,然后删除行中的所有空白,然后删除任何空行,然后将它们分组为三个组,然后(在写入CSV头之后)将这些组写入CSV文件。</p>
<p>要合并注释中提到的最后两列,可以用明显的方式将<code>writerow</code>调用和<code>writerows</code>更改为:</p>
<pre><code>writer.writerows((title, intro + tagline) for title, intro, tagline in grouped)
</code></pre>