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

如何从大型嵌套列表中拆分生成Pandas DataFrame列?

解决API嵌套数据转Pandas DataFrame的问题

嘿,我之前也碰到过一模一样的情况!API返回的带wrapper的嵌套数据直接转DataFrame确实会变成单列,咱们一步步拆解解决:

第一步:把文本文件解析成Python结构化数据

首先假设你的API返回文本是JSON格式(绝大多数API都是这个格式),先把它加载成Python能识别的字典/列表:

import json
import pandas as pd

# 读取并解析文本文件
with open('你的API数据文件.txt', 'r', encoding='utf-8') as file:
    api_data = json.load(file)

如果你的文件外面有额外的wrapper包裹(比如开头是customWrapper(结尾是)),那得先把这些多余字符去掉再解析:

with open('你的API数据文件.txt', 'r', encoding='utf-8') as file:
    raw_content = file.read()
# 清理wrapper标记
clean_content = raw_content.strip().lstrip('customWrapper(').rstrip(')')
api_data = json.loads(clean_content)

第二步:提取核心的transactions数据

你提到数据里有transactions和cursor两个关键字段,其中transactions应该是存着所有交易记录的列表——这才是我们要转成DataFrame的核心内容:

# 提取交易数据列表
transactions_list = api_data['transactions']

# 要是怕键不存在报错,可以用get方法更安全
# transactions_list = api_data.get('transactions', [])

第三步:转成正常的多列DataFrame

现在把提取到的列表传入Pandas的DataFrame构造器,就能得到行列正常的表格了:

df = pd.DataFrame(transactions_list)

# 验证一下结果
print(f"数据形状:{df.shape}")
print(df.head())

如果transactions里的每条记录还有嵌套的子字段,Pandas会自动把这些子字段展开成单独的列,非常省心!

额外:处理cursor字段

cursor一般是API分页用的标记,你可以单独存下来,后续如果要拉取更多数据的时候用:

next_cursor = api_data.get('cursor')
print(f"下一页游标:{next_cursor}")

这样操作下来,你的DataFrame就不会只有1列啦,赶紧试试吧!

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:07:36