python - 到 csv 的 2D 列表 - 按列
问题描述
我想将二维列表的内容导出到 csv 文件中。
子列表的大小可以不同。例如,二维列表可以是:
a = [ ['a','b','c','d'], ['e','f'], ['g'], [], ['h','i'] ]
我希望我的 csv 存储这样的数据 - “按列”:
a,e,g, ,h
b,f, , ,i
c
d
我是否必须添加一些空格才能使每个子列表的大小相同?还是有其他方法可以做到这一点?
感谢您的帮助
解决方案
您可以使用itertools.zip_longest
:
import itertools, csv
a = [ ['a','b','c','d'], ['e','f'], ['g'], [], ['h','i'] ]
with open('filename.csv', 'w') as f:
write = csv.writer(f)
write.writerows(list(itertools.zip_longest(*a, fillvalue='')))
输出:
a,e,g,,h
b,f,,,i
c,,,,
d,,,,
推荐阅读
- angular - 如何在我的 .forRoot() 中以角度初始化第 3 方模块
- r - 是否可以使用比使用因子时更小的数据集?
- mysql - 插入数据库时用问号替换表情符号
- python - 如何使用用户输入制作矩形?
- java - NoClassDefFoundError: Square Logging Interceptor v3.12.0
- c++ - 指向新对象后的内存泄漏
- ajax - AJAX 更新 div 而不创建部分
- ios - 防止 UIImagePickerController 保存图像
- angular - 如何为 span Angular 6 设置 ngModel?
- r - 如果因子的频率低于某个数字,数据框会更改因子的名称