对导出到excel的词典进行排序?

2024-03-28 21:36:37 发布

您现在位置:Python中文网/ 问答频道 /正文

好的,我有一个字典,里面的值是列表形式的,这就是我一直在寻找的。。。我想知道是否有一种方法来排序,这也将显示在单独的列中的列表值。。。我使用以下代码将值拆分为不同的列:

        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

感谢各位的回复谢谢!你知道吗


Tags: csv方法key代码列表字典parameter排序
2条回答

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

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

另一个答案的另一种选择(稍微干净一点,imho):

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

相关问题 更多 >