# 数据清洗 **Repository Path**: elfbobo_admin_admin/data-cleaning ## Basic Information - **Project Name**: 数据清洗 - **Description**: 数据清洗 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-09-09 - **Last Updated**: 2025-09-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 数据清洗工具集 本项目包含多个Python脚本,用于处理体检数据从Excel到JSON的转换、去重和标准化。 ## 文件功能说明 ### 1. check_duplicates.py - **功能**:处理Excel体检数据,转换为JSON格式 - **主要操作**: - 读取Excel文件(支持多工作表) - 自动适配列数不一致的工作表 - 数据去重(基于体检编号、组合项目和结果) - 数据聚合(按体检编号分组) - 转换为标准JSON格式 - **输入**:`data/imput/excel/`目录下的Excel文件 - **输出**:`data/output/第一次转化为JSON/`目录下的JSON文件 ### 2. check_duplicates_cx.py - **功能**:对JSON体检数据进行去重处理 - **主要操作**: - 检查重复的体检记录(基于11个关键字段) - 过滤无效记录(项目结果为空或三个结论字段均为空) - 保存去重后的数据 - **输入**:`data/output/第一次转化为JSON/`目录下的JSON文件 - **输出**:`data/output/第一次转化为JSON后去重/clean_data_sample.json` ### 3. medical_fields.py - **功能**:体检字段值标准化和统计 - **主要操作**: - 定义字段值同义词映射(如"普通体检"和"一般健康体检") - 标准化字段值(将同义词转换为标准值) - 统计各字段值的出现频率 - 对齐字段值为标准key并保存 - **输入**:JSON体检数据文件 - **输出**:标准化后的JSON文件(保存在`data/output/第一次转化为JSON后去重字段名称对齐/`) ### 4. transform_json_format.py - **功能**:将标准化后的JSON数据转换为API所需格式 - **主要操作**: - 转换字段格式(如性别转为数字编码) - 处理危害因素为列表格式 - 过滤无异常项目的记录 - **输入**:`data/output/第一次转化为JSON后去重字段名称对齐/clean_data_sample.json` - **输出**:`data/output/转换后的数据/transformed_data.json` ### 5. extract_test_data.py - **功能**:从大数据集中提取测试样本 - **主要操作**: - 从源JSON文件中提取指定数量的记录 - 保存为独立的测试数据文件 - **输入**:任意JSON数据文件 - **输出**:`data/output/测试用数据/test_data.json` ### 6. request_and_compare.py - **功能**:发送数据到API并比对结果 - **主要操作**: - 批量发送JSON数据到指定API - 保存原始数据和API响应的比对结果 - 生成处理统计信息 - **输入**:转换格式后的JSON数据 - **输出**:`data/output/API请求比对结果/`目录下的比对文件 ## 使用流程 1. 将原始Excel文件放入`data/imput/excel/` 2. 运行`check_duplicates.py`进行初步转换 3. 运行`check_duplicates_cx.py`进行数据去重 4. 运行`medical_fields.py`进行字段标准化 5. 运行`transform_json_format.py`转换为API所需格式 6. 可选:运行`extract_test_data.py`提取测试数据 7. 运行`request_and_compare.py`发送数据到API并比对结果 ## 依赖 - Python 3.x - pandas - requests - json - concurrent.futures - tqdm