我试图导出data到csv,其中数据中的项目是两个不等长度的列表.
import csv
item_dictionary = {'13742': 'cat', '25037':'dog'}
names = item_dictionary.values()
data = [[1, 2, 3, 4, 5, 6], [7, 8, 9, 10]]
export_data = zip(*data)
myfile = open('sample.csv', 'wb')
wr = csv.writer(myfile)
wr.writerow(names)
wr.writerows(export_data)
myfile.close()
Run Code Online (Sandbox Code Playgroud)
这给了我这个输出,它排除了5和6 data[0].
dog cat
1 7
2 8
3 9
4 10
Run Code Online (Sandbox Code Playgroud)
我想要的是这个:
dog cat
1 7
2 8
3 9
4 10
5
6
Run Code Online (Sandbox Code Playgroud)
如何修改我的代码以包含所有值而data[0]不受长度的限制data[1]?
实际上,zip它停止到达最短迭代的末尾.
itertools.izip_longest是当你想要压缩到最长迭代结尾时使用的函数.
import itertools
export_data = itertools.izip_longest(*data, fillvalue = '')
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
695 次 |
| 最近记录: |