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

如何用Python将Pandas生成的两个JSON数组合并为嵌套JSON文件

解决方案

直接操作JSON字符串容易出现语法错误,正确做法是先把Pandas生成的JSON字符串转回Python数据结构,再构造嵌套字典后输出成最终JSON。

步骤示例

假设你已经有两个过滤后的DataFrame:

  • df_status:包含time、x、y、z字段
  • df_dt:包含dt、count字段

执行以下代码:

import pandas as pd
import json

# 1. 从DataFrame生成数组格式的JSON字符串(指定orient='records')
status_records = df_status[['time', 'x', 'y', 'z']].to_json(orient='records')
dt_records = df_dt[['dt', 'count']].to_json(orient='records')

# 2. 将JSON字符串转为Python列表
status_list = json.loads(status_records)
dt_list = json.loads(dt_records)

# 3. 构造嵌套结构的字典
final_result = {
    "StatusTimes": status_list,
    "DtCount": dt_list
}

# 4. 生成最终JSON(可选:直接转字符串或写入文件)
# 生成JSON字符串
final_json = json.dumps(final_result, indent=4, ensure_ascii=False)
# 写入文件
with open('merged_output.json', 'w', encoding='utf-8') as f:
    json.dump(final_result, f, indent=4, ensure_ascii=False)

常见错误原因及规避

  • to_json参数错误:如果未指定orient='records',默认生成的是键为列名的对象而非数组,会导致嵌套结构不符合预期。
  • 直接拼接JSON字符串:手动拼接两个数组字符串到大括号中,极易出现逗号、括号不匹配的语法错误,必须通过Python数据结构合并后再转JSON。
  • 编码乱码:若包含非ASCII字符,添加ensure_ascii=False并指定编码为utf-8可避免乱码问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 10:53:17