两个列表
x = ['a','b','c','d','e']
y = ['s','t','u','v','w','x','y','z']
我如何合并这两个结果并将它们转储到具有两列的 CSV 文件中,我尝试使用 zip(x,y) 但它删除了列表 y 的一些结束对象。大多数解决方案适用于 x 和 y 中的对象相等的情况,正如您在我的情况中看到的那样。
请您参考如下方法:
使用 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=''))
