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

Python实现:将含嵌套JSON的列表中'data'字段转为DataFrame

提取嵌套列表中'data'字段并转换为DataFrame

直接通过列表推导式提取每个元素的data字段,再传入Pandas的DataFrame构造函数即可完成转换,完整代码如下:

import pandas as pd

# 原始嵌套列表数据
emptylist = [{'data': {'id': 7478290440, 'version': 0, 'bonus_opening_balance': 7.4, 'cash_opening_balance': 30.83, 'external_round_id': '8997958938', 'game_id': 29788, 'game_session_id': 144418070, 'last_updated_at': '2023-06-29T14:03:03Z', 'started_at': '2023-06-29T14:03:03Z', 'status': 0, 'cash_stake': 0, 'cash_win': 0, 'bonus_stake': 0, 'bonus_win': 0}, 'metadata': {'timestamp': '2023-06-29T12:03:07.699650Z', 'record-type': 'data', 'operation': 'insert', 'partition-key-type': 'schema-table', 'schema-name': 'revolve', 'table-name': 'game_round', 'transaction-id': 103414267563647}}, {'data': {'id': 7478290359, 'version': 2, 'bonus_opening_balance': 0, 'cash_opening_balance': 11.13, 'ended_at': '2023-06-29T14:03:03Z', 'external_round_id': '8997958480', 'game_id': 16210, 'game_session_id': 144418025, 'last_updated_at': '2023-06-29T14:03:03Z', 'started_at': '2023-06-29T14:02:58Z', 'status': 1, 'cash_stake': 0.2, 'cash_win': 0.03, 'bonus_stake': 0, 'bonus_win': 0}, 'metadata': {'timestamp': '2023-06-29T12:03:07.708711Z', 'record-type': 'data', 'operation': 'update', 'partition-key-type': 'schema-table', 'schema-name': 'revolve', 'table-name': 'game_round', 'transaction-id': 103414267564722}}, {'data': {'id': 7478290440, 'version': 1, 'bonus_opening_balance': 7.4, 'cash_opening_balance': 30.83, 'external_round_id': '8997958938', 'game_id': 29788, 'game_session_id': 144418070, 'last_updated_at': '2023-06-29T14:03:03Z', 'started_at': '2023-06-29T14:03:03Z', 'status': 0, 'cash_stake': 0.2, 'cash_win': 0, 'bonus_stake': 0, 'bonus_win': 0}, 'metadata': {'timestamp': '2023-06-29T12:03:07.717096Z', 'record-type': 'data', 'operation': 'update', 'partition-key-type': 'schema-table', 'schema-name': 'revolve', 'table-name': 'game_round', 'transaction-id': 103414267565254}}]

# 提取所有元素的'data'字段
data_records = [item['data'] for item in emptylist]

# 转换为DataFrame
df = pd.DataFrame(data_records)

# 查看结果
print(df)

输出结果示例

id  version  bonus_opening_balance  cash_opening_balance external_round_id  game_id  game_session_id      last_updated_at          started_at  status  cash_stake  cash_win  bonus_stake  bonus_win               ended_at
0  7478290440        0                    7.4                 30.83        8997958938    29788        144418070  2023-06-29T14:03:03Z  2023-06-29T14:03:03Z        0         0.0       0.00            0           0                     NaN
1  7478290359        2                    0.0                 11.13        8997958480    16210        144418025  2023-06-29T14:03:03Z  2023-06-29T14:02:58Z        1         0.2       0.03            0           0  2023-06-29T14:03:03Z
2  7478290440        1                    7.4                 30.83        8997958938    29788        144418070  2023-06-29T14:03:03Z  2023-06-29T14:03:03Z        0         0.2       0.00            0           0                     NaN

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 12:07:09