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

我有多个列表

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

我想写一个excel或csv文件格式,看起来像这样:

在这里输入图像说明

当我使用csv writerow时,我需要使用writerow ,这样值不会在excel中被截断。 没关系,但是另一列还没有出现。

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

提前致谢!

我认为这对你有用:

 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) 

参考:

  • zip_longest: https ://pymotw.com/3/itertools/index.html#merging-and-splitting-iterators

你可以在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)]