Python将多个不等的列表写入Excel文件

时间:2017-03-01 06:20:03

标签: python excel csv

我有多个列表

ANNA=(1, 2, 3, 4)
MAE=(1,2)
CEL=(1,2,3,4,5,6,7)

我想用excel或csv文件格式编写它们,如下所示:

enter image description here

当我使用csv writer时,我需要将writerow与additonal '一起使用,以便在excel中不会截断这些值。没关系,但是其他专栏还没有出现。

我使用python3.x所以izip不起作用我想因为我已经尝试过了。 我尝试了pandasDataFrame,但是列的长度必须相等,我的数据很大,我不知道如何将NaN放到我的缺失值上。此外,我想知道是否有一种方法而不是替换NaN以均衡我的列,它看起来不太好。

提前致谢!

2 个答案:

答案 0 :(得分:0)

我认为这适合你:

import csv
from itertools import zip_longest


ANNA = (1, 2, 3, 4)
MAE = (1, 2)
CEL = (1, 2, 3, 4, 5, 6, 7)

with open('output.csv', 'w') as outcsv:
    writer = csv.writer(outcsv)
    writer.writerow(["ANNA", "MAE", "CEL"])
    for row in zip_longest(ANNA, MAE, CEL):
        writer.writerow(row)

参考:

答案 1 :(得分:0)

您可以在python 3中使用zip_longest

>>> x = zip_longest(ANNA, MAE, CEL)
>>> [k for k in x]
[(1, 1, 1), (2, 2, 2), (3, None, 3), (4, None, 4), (None, None, 5), (None, None, 6), (None, None, 7)]