Python 转置字典

问题描述 投票:0回答:1

我有

data_dict = {1: {'One': 110, 'Two': 210, 'three': 310},
             2: {'One': 120, 'Two': 220, 'three': 320},
             3: {'One': 130, 'Two': 230, 'three': 330}}

需要按此顺序打印为 CSV

'',1,2,3
One,110,120,130
Two,210,220,230
Three,310,320,330

不知道该怎么做,花了几个小时尝试完全筋疲力尽。 我需要纯 python 解决方案,而不使用 Numpy Transpose、Itertools 等

python csv dictionary transpose
1个回答
0
投票

有很多方法可以做到这一点。最简单的可能是创建一个中间字典。

类似这样的:

data_dict = {1: {'One': 110, 'Two': 210, 'three': 310},
             2: {'One': 120, 'Two': 220, 'three': 320},
             3: {'One': 130, 'Two': 230, 'three': 330}}

temp_dict = dict()

for value in data_dict.values():
    for k, v in value.items():
        temp_dict.setdefault(k, []).append(v)

for k, v in temp_dict.items():
    print(*([k]+v), sep=",")

输出:

One,110,120,130
Two,210,220,230
three,310,320,330
© www.soinside.com 2019 - 2024. All rights reserved.