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

如何将Excel中的多张关联表格按指定结构转换为JSON格式

你目前使用的excel2json库仅支持将Excel的每个工作表独立转换为JSON文件,不内置多表关联逻辑,需要换用pandas库实现表关联后再导出目标结构JSON,操作方法如下:

环境依赖安装

执行以下命令安装需要的工具库:

pip install pandas openpyxl
完整实现代码
import pandas as pd
import json

# 读取两张工作表数据,sheet_name替换为你Excel中实际的工作表名称
df_company = pd.read_excel("Companies.xlsx", sheet_name="企业信息表")
df_staff = pd.read_excel("Companies.xlsx", sheet_name="企业关联人员表")

# 按Member_No分组人员表,生成每个企业对应的关联人员列表
staff_group = df_staff.groupby("Member_No").apply(
    lambda x: x.drop("Member_No", axis=1).to_dict("records")
).reset_index(name="related_persons")

# 关联企业表和人员分组结果,左关联保留所有企业数据
merged_df = pd.merge(df_company, staff_group, on="Member_No", how="left")

# 无关联人员的企业填充空列表
merged_df["related_persons"] = merged_df["related_persons"].apply(lambda x: x if isinstance(x, list) else [])

# 导出为JSON文件
result = merged_df.to_dict("records")
with open("企业关联数据结果.json", "w", encoding="utf-8") as f:
    json.dump(result, f, ensure_ascii=False, indent=2)
调整说明
  • 最终JSON结构可以通过调整merged_df的字段实现,比如要删除多余字段可以用merged_df = merged_df.drop(["待删除字段名"], axis=1)
  • 如果需要关联逻辑改为仅保留同时存在于两张表的企业,把merge方法的how参数改为"inner"即可

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 15:06:09