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

如何将Excel表格转换为含MAIN_ID对应最大VALUE的JSON格式

解决方案:Excel转指定结构JSON(取MAIN_ID对应VALUE最大值)

嘿,咱们来搞定这个Excel转JSON的任务,要求每个MAIN_ID只保留对应分组里的最大VALUE值。下面我会一步步拆解需求,给出清晰的实现方案。

原始Excel数据

先把你提供的Excel数据整理成更直观的表格:

MAIN_IDSUB_IDVALUE备注
10001000-A110
10001000-A215
10001000-A320MAIN_ID 1000对应的最大值
10011001-A112
10011001-A214
10011001-A325MAIN_ID 1001对应的最大值

核心需求明确

生成的JSON必须符合以下结构,每个MAIN_ID对应的VALUE是该分组下的最大值:

{ "data": [ { "MAIN_ID":..., "VALUE":... } ] }

Python实现方案(用pandas高效处理)

pandas是处理表格数据的利器,几行代码就能完成分组取最大值和格式转换:

import pandas as pd
import json

# 读取Excel文件(替换成你的文件路径,默认读取第一个工作表)
df = pd.read_excel('your_excel_file.xlsx')

# 按MAIN_ID分组,提取每组VALUE的最大值,重置索引保证结构正确
max_values_df = df.groupby('MAIN_ID')['VALUE'].max().reset_index()

# 转换为要求的JSON结构
final_json = {"data": max_values_df.to_dict('records')}

# 打印格式化后的JSON,或者写入文件
print(json.dumps(final_json, indent=2))

# 如果需要保存到文件,取消下面注释
# with open('output.json', 'w') as f:
#     json.dump(final_json, f, indent=2)

运行后输出的JSON结果

执行上述代码后,你会得到符合要求的输出:

{
  "data": [
    {
      "MAIN_ID": 1000,
      "VALUE": 20
    },
    {
      "MAIN_ID": 1001,
      "VALUE": 25
    }
  ]
}

额外说明

  • 如果你的Excel数据在特定工作表,可在pd.read_excel中指定sheet_name参数,比如pd.read_excel('file.xlsx', sheet_name='Sheet2')
  • 如果你不想用pandas,也可以用openpyxl库手动逐行读取Excel数据,然后用字典来跟踪每个MAIN_ID的最大值,但pandas的实现更简洁高效

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:19:07