在python中将列表列表写入csv

时间:2015-12-21 23:02:06

标签: python csv

我有一个功能:

writer = csv.writer(open('dict.csv', 'ab'))
for row in izip_longest(finald, finalp, namebi, main):
    writer.writerow([x.encode("utf-8") for x in row])

finald finalp namebi 是列表。

main 是一个列表,其中包含许多其他相同大小的列表。

我也想在utf-8中编码数据。一行中的所有数据彼此相关,因此无法同步。

我希望csv输出如下:

finalp[0],finalp[0],namebi[0],main[0]key[0],main[0]key[1] .....

1 个答案:

答案 0 :(得分:1)

这应该有效:

for row in zip(finald, finalp, namebi, main):
    writer.writerow([x.encode("utf-8") for x in row[:-1]] +
                    [x.encode("utf-8") for x in row[-1]])

我使用zip代替izip_longest。后者需要填充值,因为默认的None无法编码并写入文件。