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

如何将Airtable API返回的嵌套OrderedDict转换为DataFrame

没问题,这就帮你解决这个转换问题。你当前的代码之所以不符合预期,是因为直接把顶层的OrderedDict(包含'records'键)传给了pd.DataFrame.from_dict,但实际上你需要的是提取每个record里的**'fields'**子字典——也就是存着Lead ID、Company Name这些字段的部分。

具体操作步骤如下:

方法1:只提取核心业务字段(Lead ID等)

首先从data里取出'records'列表,然后遍历每个record,把里面的'fields'字典收集起来,最后用这个字典列表创建DataFrame:

# 提取所有record的fields字典
field_list = [record['fields'] for record in data['records']]
# 转换为DataFrame
df = pd.DataFrame(field_list)

方法2:同时保留record的元数据(可选)

如果你还想把每个record的'id'和'createdTime'也作为列保留在DataFrame里,可以这样做:

field_list_with_meta = []
for record in data['records']:
    # 先复制fields字典,避免修改原数据结构
    fields = record['fields'].copy()
    # 添加record的ID和创建时间字段
    fields['record_id'] = record['id']
    fields['created_time'] = record['createdTime']
    field_list_with_meta.append(fields)
# 转换为DataFrame
df = pd.DataFrame(field_list_with_meta)

为什么原代码会失败?

你之前用pd.DataFrame.from_dict(data)时,pandas会把顶层的键(比如'records'、'offset')作为DataFrame的列,而每个列的值是整个record对象,这就导致了你看到的那种混乱输出。我们上面的方法是精准定位到你需要的第三层子字典,所以能生成符合预期的结构化DataFrame。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:21:06