如何无需硬编码将指定格式字典列表转换为对应表头的DataFrame
实现方案
你可以通过两步提取对应字段完成转换,全程没有硬编码列名,后续如果原始数据的列数量、列名发生变化,只要结构保持一致就能直接复用:
完整代码示例
import pandas as pd # 原始数据 raw_data = [ {'Data': [{'VarCharValue': 'date'}, {'VarCharValue': 'clientid'}]}, {'Data': [{'VarCharValue': '20200203'}, {'VarCharValue': '123457'}]}, {'Data': [{'VarCharValue': '20200202'}, {'VarCharValue': '123456'}]} ] # 自动提取列名(取第一条数据的Data字段内容) columns = [item['VarCharValue'] for item in raw_data[0]['Data']] # 提取所有数据行(从第二条数据开始遍历取值) data_rows = [[item['VarCharValue'] for item in entry['Data']] for entry in raw_data[1:]] # 生成目标DataFrame df = pd.DataFrame(data_rows, columns=columns)
输出结果
运行后得到的df结构如下:
| date | clientid |
|---|---|
| 20200203 | 123457 |
| 20200202 | 123456 |
内容的提问来源于stack exchange,提问作者hahilas
相关产品推荐
相关产品推荐

