两个清单
x = ['a','b','c','d','e']
y = ['s','t','u','v','w','x','y','z']
如何将这两个结果合并并将其转储到包含两列的CSV文件中,我尝试使用zip(x,y)
但它删除了列表y
的一些结束对象。大多数解决方案都提供了x
和y
中的对象相同的情况,正如您在我的情况中所看到的那样。
答案 0 :(得分:5)
使用itertools.izip_longest()
function代替,并告诉它使用哪些缺少的列;对于CSV文件,空字符串可以工作:
for row in izip_longest(x, y, fillvalue=''):
# ...
请注意,在Python 3中,从函数名称中删除了i
前缀。
如果您要将这些文件写入CSV文件,您可以直接将整个对象发送到csv.writer.writerows()
函数:
import csv
from itertools import izip_longest
with open(filename, 'wb') as outf:
writer = csv.writer(outf)
writer.writerows(izip_longest(x, y, fillvalue=''))