如何以表格格式格式化Python Ordered-Dictionary

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

我正在尝试以表格格式格式化Python命令字典,如下所示。如何用以下格式格式化有序字典数据?

OrderedDict([
  ('parent_ mods', OrderedDict([('pk_release', None)
                                ('product_value', None),
                                ('bar_activity', 'create'),
                                ('host_model', False),
                                ('active', True),
                                ('model_facet', False),
                                ('is_active', True)])),
  ('product_name', OrderedDict([('pk_release', None),
                                ('product_value', None),
                                ('bar_activity', 'create'),
                                ('host_model', False),
                                ('active', True),
                                ('model_facet', False),
                                ('is_active', True)]))
])

我已经尝试过下面的代码来分隔键和数据值,但是输出中仅显示两个dict键。

import json

dblock = json.loads(relc_json,
                    object_pairs_hook=OrderedDict)
bkeys = list(dblock.keys())
print(bkeys)

输出

['parent_mods', 'product_name']

如何以以下格式格式化OrderedDict数据?

|parent_mods|

|pk_release|product_value|bar_activity|host_model|active|model_facet|is_active|
|None|None|create|False|True|Fasle|True|

|product_name|

|pk_release|product_value|bar_activity|host_model|active|model_facet|is_active|
|None|None|create|False|True|Fasle|True|
python-3.x dictionary tabular ordereddictionary
1个回答
0
投票

首先,are根字典中只有两个键,因此我不确定您希望其他什么输出。

对于此输出,可能我在某个地方存储库,但是在格式化方面似乎并不难。

import json

dblock = json.loads(relc_json,
                    object_pairs_hook=OrderedDict)

for key, value in dblock.items():
    print(f'|{key}|')
    print()
    joined_subkeys = '|'.join(value.keys())
    joined_subvalues = '|'.join(value.values())
    print(f'|{joined_subkeys}|')
    print(f'|{joined_subvalues}|')
    print()
© www.soinside.com 2019 - 2024. All rights reserved.