对导出为ex​​cel的字典进行排序?

时间:2013-11-20 14:29:25

标签: python excel sorting dictionary

好的,所以我有一个包含列表的值的字典,这是我一直在寻找的...我想知道是否有办法对此进行排序,这也将显示值单独列中的列表...我已使用此代码将值拆分为不同的列:

        writer = csv.writer(csvfile, delimiter=',')
        for key, value in finaldict.iteritems():
                writer.writerow([key] + value)

有没有办法在写这个键之前对它进行排序?我似乎尝试的任何东西要么不对它进行排序,产生错误,要么将其更改列表的部分分成不同的列...所以如果你不理解我所说的例如让我们说我有一本字典

finaldict = {'A': [2 , 1], 'C' [3, 3], 'B' [4, 3]}

我在excel文件中寻找这个:

Parameter  Val1   Val2
A          2      1

B          4      3

C          3      3

但目前我明白了:

Parameter  Val1   Val2
A          2      1

C          3      3

B          4      3

我很感谢回复的人谢谢你们!

2 个答案:

答案 0 :(得分:3)

另一个答案的替代方案(有点清洁,imho):

for key in sorted(finaldict.keys()):
    writer.writerow([key] + finaldict[key])

答案 1 :(得分:2)

使用sorted返回包含键和值的元组列表,然后改为编写:

for key, value in sorted(finaldict.iteritems(), key=lambda: L[0]):
    writer.writerow([key] + value)