当前位置: 首页 > news >正文

用python代码将excel中的数据批量写入Json中的某个字段,生成新的Json文件

需求

需求:

1.将execl文件中的A列赋值给json中的TrackId,B列赋值给json中的OId
要求 execl的每一行,对应json中的每一个OId
json 如下:

{
    "List": [{
            "BatchNumber": "181-{{var}}",
            //  "BatchNumber": "181-17194575111",
            "FlightNumber": "10214",
            "AirlineCode": "CO",
            "FlightDepartureAirport": "ADA",
            "EstimatedExportTime":"2025-02-18 09:23:21",
            "EstimatedArriveTime":"2024-05-19 09:23:21",
            "FlightEntryAirport": "ADA",
            "FileType":"pdf",
			"AirWaybillFile": ""
            "BagDataList": [ {
                    "BagNo": "PKG{{var}}6",
                    "OrderDatas": [{
                            "OId": "BG-2401248300000001133",
                            "TrackId": "97222600001133"
                        },
                        {
                            "OId": "BG-2401248300000001133",
                            "TrackId": "97222600001133"
                        }
                    ]
                }
                    ]
                }
            ]
        }
    ]
}

2.execl 保存在 D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\test_73553\IDS.xlsx 中
3.赋值完成后,输出新的json格式文件保存在项目JSON目录中

实现代码

# -*- coding: utf-8 -*-
import pandas as pd
import json
from pathlib import Path

# 读取Excel文件(注意路径中的中文)
excel_path = r"D:\PYTHON-学习\邮政接口压力测试脚本\pythonProject1\test_73553\IDS.xlsx"
df = pd.read_excel(excel_path)

# 构建JSON结构
template = {
    "List": [{
        "BatchNumber": "181-{{var}}",
        "FlightNumber": "10214",
        "AirlineCode": "CO",
        "FlightDepartureAirport": "ADA",
        "EstimatedExportTime": "2025-02-18 09:23:21",
        "EstimatedArriveTime": "2024-05-19 09:23:21",
        "FlightEntryAirport": "ADA",
        "FileType": "pdf",
        "AirWaybillFile": "",
        "BagDataList": [{
            "BagNo": "PKG{{var}}6",
            "OrderDatas": []
        }]
    }]
}

# 填充OrderDatas
for _, row in df.iterrows():
    order_data = {
        "OId": row["原平台ID"],
        "TrackId": row["跟踪号"]
    }
    template["List"][0]["BagDataList"][0]["OrderDatas"].append(order_data)

# 创建输出目录
output_dir = Path.cwd() / "JSON"
output_dir.mkdir(exist_ok=True)

# 保存JSON文件(显式指定utf-8编码)
output_path = output_dir / "output.json"
with open(output_path, "w", encoding="utf-8") as f:
    json.dump(template, f, indent=4, ensure_ascii=False)

print(f"JSON文件已生成至:{output_path}")

实现结果

在这里插入图片描述
在这里插入图片描述

相关文章:

  • 如何判断一个项目用的是哪个管理器
  • PhotoMill X for Mac v2.8.1 图片批量编辑工具 支持M、Intel芯片
  • TypeScript 高级类型 vs JavaScript:用“杂交水稻”理解类型编程
  • AWK 入门教程:强大的文本处理工具
  • 区块链知识点2
  • Blender学习方法与技巧
  • React19源码系列之FiberRoot节点和Fiber节点
  • Linux网络编程——UDP网络通信的简单实现
  • Android UI 组件系列(二):Button 进阶用法
  • 第五天 Labview数据记录(5.4 EXCEL文件读写)
  • 安装 oepn-webui报错 Cannot connect to host api.openai.com:443 ssl
  • 网络空间安全(31)安全巡检
  • 将 IPoIB 驱动修改为仅使用 RC 模式
  • X86 RouterOS 7.18 设置笔记七:不使用Upnp的映射方法
  • 《实战AI智能体》DeepSearcher 的架构设计
  • Docker Desktop 安装与使用详解
  • Linux中Gdb调试工具常用指令大全
  • JVM系统变量的妙用
  • 封装WPF中转换器常用用法封装
  • 北京凝思磐石系统6.0.80安装vm warea tools
  • 一手实测深夜发布的世界首个设计Agent - Lovart。
  • 李公明 | 一周画记:印巴交火会否升级为第四次印巴战争?
  • 为何发胖?如何减肥?一个医学体重管理中心的探索启示
  • 中日有关部门就日本水产品输华问进行第三次谈判,外交部回应
  • 经济日报整版聚焦“妈妈岗”:就业路越走越宽,有温度重实效
  • 见微知沪|优化营商环境,上海为何要当“细节控”自我加压?