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不起作用我猜测因为我试过了。 我尝试了pandas
和DataFrame
但是列的长度必须相同,我的数据很大,我不知道如何将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)]