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

如何用Pandas生成Rest API期望的JSON响应(无需硬编码结构)

解决方案

你可以通过以下步骤动态生成API要求的JSON格式,无需硬编码structure部分:

  1. 生成structure字典:遍历DataFrame的列名,将每个列名转换为首字母大写的形式作为键,原列名作为值。
  2. 生成data列表:使用Pandas的to_dict(orient='records')方法直接获取不含索引的记录列表,这个方法会自动把每一行转成字典,键是列名。
  3. 组合并转为JSON:把上述两部分组合成一个字典,再用json.dumps()转为JSON字符串。

完整代码示例

import pandas as pd
import json

# 示例DataFrame
df = pd.DataFrame({
    'col1': ['1', '3'],
    'col2': ['2', '4']
})

# 生成structure:列名首字母大写映射原列名
structure = {col.capitalize(): col for col in df.columns}

# 生成data:不带索引的记录列表
data = df.to_dict(orient='records')

# 组合成目标格式的字典
target_dict = {
    'structure': structure,
    'data': data
}

# 转为JSON字符串
target_json = json.dumps(target_dict, indent=4)
print(target_json)

输出结果

{
    "structure": {
        "Col1": "col1",
        "Col2": "col2"
    },
    "data": [
        {
            "col1": "1",
            "col2": "2"
        },
        {
            "col1": "3",
            "col2": "4"
        }
    ]
}

如果你的列名有特殊的大写规则(比如每个单词首字母大写),可以把col.capitalize()替换为col.title(),或者自定义字符串处理函数来适配需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 17:02:28