如何用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
相关产品推荐
相关产品推荐

