将多个列表写入CSV

时间:2013-04-14 02:30:29

标签: python csv

我有两个清单:

x = [['a','b','c'], ['d','e','f'], ['g','h','i']]
y = [['j','k','l'], ['m','n','o'], ['p','q','r']]

我想将列表xy写入CSV文件,使其读入列:

第1栏:
a b
Ç

第2栏:
Ĵ
ķ

Col 3:
d
Ë
˚F

第4栏:

ñ
Ò

等。我真的不确定怎么做。

1 个答案:

答案 0 :(得分:0)

您可以使用zip进行转置,csv来创建输出文件,例如:

x = [['a','b','c'], ['d','e','f'], ['g','h','i']]
y = [['j','k','l'], ['m','n','o'], ['p','q','r']]

from itertools import chain
import csv
res = zip(*list(chain.from_iterable(zip(x, y))))
with open(r'yourfile.csv', 'wb') as fout:
    csvout = csv.writer(fout)
    csvout.writerows(res)

如果您的长度不等,那么您可能希望查看itertools.izip_longest并指定合适的fillvalue=,而不是使用内置zip