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

将API返回嵌套字典列表转pandas DataFrame仅得1行的问题咨询

问题原因

你丢失数据的核心原因是误用了字典的update()方法。Python字典的键具备唯一性,每次执行res.update(d)时,如果当前遍历到的字典d中的键已经在res中存在,会直接覆盖res中对应键的旧值。整个循环执行完后,res只会保留devices列表最后一个字典的内容,所以后续做扁平化操作只能得到1行数据。

你原本的字典列表转单个字典的逻辑本身就不符合需求:每个字典对应DataFrame的一行,你将1000个字典合并为单个字典,自然只能得到1行结果。

正确实现方案

你不需要手动循环处理字典列表,直接调用pandas自带的嵌套结构解析方法即可完成扁平化+生成DataFrame的需求:

import pandas as pd
from pandas import json_normalize

# 直接对包含1000个字典的devices列表做扁平化处理
df = json_normalize(devices)

如果需要把CatalogNumbers这类嵌套列表字段也展开成多行,可以添加对应参数:

df = json_normalize(
    devices, 
    record_path='CatalogNumbers', 
    meta=['AlternativeDeviceNames', 'BrandName', ['Company', 'CompanyId'], ['Company', 'CompanyName']],
    errors='ignore'
)

内容的提问来源于stack exchange,提问作者lu-mat

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 20:09:03