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

Python与JSON:如何将指定字段嵌套为子对象

解决方案:将扁平字段嵌套为层级结构

方法一:基于Pandas处理(推荐,适合已持有DataFrame的场景)

利用Pandas的apply方法生成嵌套字段,再清理原字段,最后转回字典数组:

import pandas as pd

# 假设df是从数据库获取的原始DataFrame
df = pd.DataFrame(data)

# 生成嵌套的years字段
df['years'] = df.apply(lambda row: {
    'firstYear': row['firstYear'],
    'lastYear': row['lastYear']
}, axis=1)

# 删除原有的扁平字段
df = df.drop(columns=['firstYear', 'lastYear'])

# 转换为目标结构的Python对象数组
result_data = df.to_dict('records')

方法二:直接处理字典列表(高效简洁)

用列表推导式结合字典解构与pop方法,直接改造原字典列表:

# 直接处理原始数据列表
result_data = [
    {
        **item,
        'years': {
            'firstYear': item.pop('firstYear'),
            'lastYear': item.pop('lastYear')
        }
    }
    for item in data
]

说明

  • 方法一适合数据仍以DataFrame形式存在的场景,借助Pandas的向量化处理能力,在数据量较大时性能更优。
  • 方法二无需依赖Pandas,直接操作字典列表,代码简洁且执行效率高,避免了手动循环的冗余和出错可能。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 23:01:01