如何将两个列表合并为一个列和两列

时间:2016-04-24 17:04:21

标签: python csv

两个清单

x = ['a','b','c','d','e']
y = ['s','t','u','v','w','x','y','z']

如何将这两个结果合并并将其转储到包含两列的CSV文件中,我尝试使用zip(x,y)但它删除了列表y的一些结束对象。大多数解决方案都提供了xy中的对象相同的情况,正如您在我的情况中所看到的那样。

1 个答案:

答案 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=''))