Pandas:如何将嵌套字典列表垂直展开为指定格式DataFrame
字典列表转目标DataFrame的高效方案
直接使用pandas内置的pd.json_normalize()方法即可一步完成转换,该方法是pandas原生实现,解析嵌套结构的性能远高于手动循环遍历。
具体操作代码如下:
import pandas as pd # 原始字典列表 raw_data = [ {'name': 'jack', 'tagList': [{'tagId': '10', 'tagName': 'AB'},{'tagId': '20', 'tagName': 'BC'}]}, {'name': 'mike', 'tagList': [{'tagId': '30', 'tagName': 'DE'},{'tagId': '40', 'tagName': 'FG'}]} ] # 直接解析嵌套结构 df = pd.json_normalize( raw_data, record_path='tagList', # 指定要展开的嵌套列表字段 meta='name', # 指定要保留的上层公共字段 record_prefix='tagList_' # 给嵌套字段统一加前缀,匹配目标列名 ) # 调整列名和顺序匹配需求 df = df.rename(columns={'name': 'Name'})[['Name', 'tagList_tagId', 'tagList_tagName']] # 如果需要Name列首字母大写,加下方代码即可 # df['Name'] = df['Name'].str.capitalize()
运行后输出的df就完全匹配你需要的格式。
内容的提问来源于stack exchange,提问作者s900n
相关产品推荐
相关产品推荐

