我有一个字典,其中每个键都有list作为值。问题是,对于每个键,每个列表的元素数是不同的。我不是用csv写成行,而是用列来写。假设字典的格式如下:
myDict = {'cli1':['9','1'], 'cli2':['6','8','4'], 'cli3':['7']}
我想以以下方式在.csv文件中打印:
^{pr2}$为了完成这项任务,我编写了以下程序:
with open('PduDictOut.csv','wb') as file:
writer = csv.writer(file, delimiter='\t')
writer.writerow(myDict.keys())
for row in zip(*myDict.values()):
writer.writerow(list(row))
file.close()
但这个程序给出了以下输出:
cli1 cli2 cli3
9 6 7
我的程序使用列表中最少项数的键,并为所有键提供相同数量的元素。如何更改程序以生成所需的输出。提前谢谢。非常感谢你的帮助。顺便说一句,我使用的是python2.6。在
由于第三个列表只有一个项,
zip
将把结果截断为一个元组。在将
itertools.izip_longest
与填充值一起使用:您可以使用这个:
输出:
[('6', '7', '9'), ('8', None, '1'), ('4', None, None)]
将逻辑位改为None,同时将其写入csv。在
相关问题 更多 >
编程相关推荐