You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python从嵌套字典列表中提取并展开输出指定格式数据?

解决方法

首先确认你的原始数据格式存在问题,正确的合法JSON结构应该是:

{"profile": [{"emp_id":"ABC0001","emp_info":{"age":"35yrs","gender":"Male","dob":"24jan1988","address":"xyz"},"emgy_contact":"abcd_1223456"}]}

要实现你期望的嵌套字段输出效果,需要处理字典的嵌套结构,以下是具体代码:

方案1(带缩进区分层级)

def print_nested_data(data, indent=0):
    for key, val in data.items():
        if isinstance(val, dict):
            print(f'{"    " * indent}{key}:')
            print_nested_data(val, indent + 1)
        else:
            print(f'{"    " * indent}{key}: {val}')

# 假设data是解析后的合法字典
for item in data['profile']:
    print_nested_data(item)

输出结果:

emp_id: ABC0001
emp_info:
    age: 35yrs
    gender: Male
    dob: 24jan1988
    address: xyz
emgy_contact: abcd_1223456

方案2(无缩进,仅换行展示嵌套字段)

def print_nested_data(data):
    for key, val in data.items():
        if isinstance(val, dict):
            print(f'{key}:')
            for sub_key, sub_val in val.items():
                print(f'{sub_key}: {sub_val}')
        else:
            print(f'{key}: {val}')

for item in data['profile']:
    print_nested_data(item)

输出结果:

emp_id: ABC0001
emp_info:
age: 35yrs
gender: Male
dob: 24jan1988
address: xyz
emgy_contact: abcd_1223456

注:你当前得到的错误输出(emp_info包含emgy_contact),是因为原始数据格式不合法导致解析异常,务必先确保数据为标准JSON结构。

内容的提问来源于stack exchange,提问作者skywalker

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.09 16:52:36