我不确定您使用的是哪个CSV库,但是它看起来不像Python的内置库。无论如何,这是我的做法:
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)
这种类型的管道。它首先从文件中获取数据,然后从行中删除所有空白,然后删除所有空行,然后将它们分为三组,然后(在写入CSV标头之后)将这些组写入CSV文件。
要合并注释中提到的最后两列,可以writerow
以明显的方式将调用更改writerows
为:
writer.writerows((title, intro + tagline) for title, intro, tagline in grouped)