私が持っている現在のデータ構造は次のとおりです。
{'bin1': {'A': 14545,
'B': 18579,
'C': 5880,
'D': 20771,
'E': 404396},
'bin2': {'A': 13200,
'B': 12279,
'C': 5000,
'D': 16766,
'E': 200344},
[...] }
そして、次の形式でテーブルに書き込みたいと思います。
A B C D E
bin1 14545 18579 5880 20771 494396
bin2 13200 12279 5000 16766 200344
...
現在、私は粗い印刷ループを使用しています(d ==上記の辞書):
# print the table header
labs = [i for i in d[d.keys()[0]]]
print "bin" + "\t" + "\t".join(labs)
# loop and print the values
for j in d:
print j + "\t" + "\t".join(map(str, [d[j][q] for q in d[j]]))
(明らかに順序付けされていないにもかかわらず)動作するように見えましたが、私の出力では、一部のネストされた辞書にすべてのフィールド AE が含まれていないことがわかりました。これを行う1つの方法は、おそらくより適切なマトリックス型のデータ構造を使用して辞書を再構築し、欠損値を で埋めること0
だと思いますが、この巨大なネストされた辞書を手元に持っている場合、上記の出力は、欠落している要素を処理できますか?