多来源数据合并与字段标准化器|工程效率工具
这个工具解决什么问题
效率工具解决的都是每天重复做、但每次做都不太一样的活。脚本化之后输出格式稳定,交接也省事。
> 三个车间交来的表列名不一样、单位不一样、还有重复与冲突——一次合并成标准表。
输入数据格式
数据文件 merged_standardized.csv,列顺序为:批次号、设备、温度_C、压力_Torr、产量。
示例首行:B2601-01,刻蚀机-01,250.4,2.51,4800
示例输出(真实运行结果节选)
多来源数据合并与字段标准化报告 ====================================================================== 一、各来源读取情况 ---------------------------------------------------------------------- source_a.csv 5 行 原始列:批次号、设备、温度(℃)、压力(Torr)、产量 source_b.csv 4 行 原始列:batch、machine、temp_F、press_kPa、qty source_c.csv 4 行 原始列:批次编号、机台、温度_摄氏度、压力_kPa、数量 合计读入 13 行 二、标准化处理 ---------------------------------------------------------------------- 统一列名:批次号、设备、温度_C、压力_Torr、产量 单位换算:温度 华氏→摄氏、压力 kPa→Torr,共换算 12 个数值 主键去重:按「批次号 + 设备」,重复记录 3 行(保留首次出现来源) 合并输出:10 行 → merged_standardized.csv 三、冲突检测(同主键、同指标、数值不一致) ---------------------------------------------------------------------- ⚠ B2601-07 / 刻蚀机-01 的「产量」:source_a.csv 报 4500,source_b.csv 报 4600 处理建议:先与两个来源核对口径(量测机台、采样时点、是否含校准值),确认后再决定保留哪一份,不要直接取平均。 四、合并结果抽样(前 6 行) ---------------------------------------------------------------------- 批次号 设备 温度_C 压力_Torr 产量 B2601-01 刻蚀机-01 250.4 2.51 4800 B2601-02 刻蚀机-01 251.2 2.48 4750 B2601-03 薄膜机-02 248.9 3.10 4200 B2601-0
适用场景
· 数据小组、工艺/设备/财务汇总、报表前置处理 · 把字段映射固化成厂内标准,下次换数据只改映射字典、不改代码
怎么用
python merge_normalize.py
首次运行会自动生成示例数据并输出一份完整报告; 把示例 CSV 换成你自己的数据(保持列名一致)后重新运行即可。
输入数据
source_a.csv / source_b.csv / source_c.csv(脚本自带三份异源示例)
输出内容
· 各来源行数与原始列名 · 统一列名与单位换算统计(华氏→摄氏、kPa→Torr) · 主键去重数与冲突清单(同主键同指标数值不一致),并输出合并后的标准表
依赖
无。仅使用 Python 标准库(csv / math / os / datetime 等), 不需要 pip 安装任何包,Windows / Linux / macOS 均可运行。
实用提示
· 报告里的判读阈值都写在脚本顶部常量区,可按自己厂内标准调整。 · 建议按周/按月滚动运行,看趋势比看单次结果更有意义。 · 换数据时保持 CSV 列名不变,脚本无需改动即可复用。
可调参数与计算口径
脚本顶部集中了主要阈值与常量:OUT="merged_standardized.csv"、REPORT_NAME="merge_report.txt"、STD_COLS=["批次号", "设备", "温度_C", "压力_Torr", "产量"]、MAP={、CONV={"f2c": f2c, "kpa2torr": kpa2torr}。改完直接重跑即可,不必改动计算逻辑。
会生成哪些文件
运行后除控制台输出外,还会生成:source_a.csv、source_b.csv、source_c.csv、merged_standardized.csv、merge_report.txt。
脚本里的主要处理步骤
close_enough():数值按相对容差比较;无法转数值时退化为字符串比较。
以上步骤在脚本中是分开的函数,可以单独调用或按需替换其中一段,不必整体重写。
工具中出现的字段与提示
- 温度_C
- 压力_Torr
- 温度(℃)
- 压力(Torr)
- 批次编号
- 温度_摄氏度
- 压力_kPa
- 数值按相对容差比较;无法转数值时退化为字符串比较。
- 刻蚀机-01
- 薄膜机-02
- 多来源数据合并与字段标准化报告
- 一、各来源读取情况
- %-14s %3d 行 原始列:%s
- 合计读入 %d 行
- 二、标准化处理
- 统一列名:%s
- 单位换算:温度 华氏→摄氏、压力 kPa→Torr,共换算 %d 个数值
- 主键去重:按「批次号 + 设备」,重复记录 %d 行(保留首次出现来源)
其余字段以界面与示例报告为准。
下载与文件清单
压缩包内包含:主程序脚本、示例数据文件、示例输出报告、中文说明文档,以及同主题 AI 提示词一套。解压后按说明运行即可,示例数据可直接试跑。
主程序文件:merge_normalize.py。
本站工具免费下载,无需注册。工具为 Python 脚本,Python 3.8 及以上环境可直接运行,核心功能尽量不依赖第三方库。
常见问题
输入数据要准备成什么样?
按 示例首行中的列顺序准备即可,共 5 列:批次号、设备、温度_C、压力_Torr、产量。列为空或格式不符时结果会失真,建议先用示例数据试跑一遍。
阈值可以改成我们自己的标准吗?
可以,脚本顶部已把主要阈值与常量集中声明,按自己产线的标准修改后重跑即可,不需要改计算逻辑。
附赠的提示词怎么用?
把提示词与自己的数据一起交给大模型,可以让它按同一套口径帮你改写分析流程或扩展报告字段。
示例数据能直接跑吗?
可以。示例数据与主程序在同一压缩包内,解压后直接运行即可看到完整输出,确认无误再替换成自己的台账。





