# 四平市普通高中联榜成绩分离工具 **Repository Path**: zhonghongsoftware/sp-exam-analyzer ## Basic Information - **Project Name**: 四平市普通高中联榜成绩分离工具 - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-05-13 - **Last Updated**: 2025-05-15 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 四平市普通高中联考成绩单一分离软件 使用手册 *中宏软件技术开源社区荣誉出品* ## 1. 工具概述 本工具专为四平市普通高中联考成绩单设计,基于Python开发,支持: - 按学校/班级/选科组合精准分离数据 - 跨平台支持(Windows/Linux/macOS) - 双模式操作(命令行/图形界面) - 自动化多级表头解析 **项目主页**:[https://gitee.com/zhonghongsoftware_1/sp-exam-analyzer](https://gitee.com/zhonghongsoftware_1/sp-exam-analyzer) ## 2. 环境要求 | 平台 | 最低要求 | 特别说明 | |------------|-----------------------------------|------------------------------| | Windows | Win7 SP1+(推荐Win10/11) | 支持exe一键运行 | | Linux | Ubuntu 18.04+/CentOS 7+ | 需安装`python3-tk` | | macOS | 10.15+ | 需单独安装依赖库 | ## 3. 安装指南 ### 3.1 快速使用(推荐) 1. 访问[发布页面](https://gitee.com/zhonghongsoftware_1/sp-exam-analyzer/releases)下载: - Windows用户:`sp_analyzer.exe` - Linux用户:`sp_analyzer_linux.zip` - 通用版本:`analyzer.py` + `config.json` 2. 双击运行exe文件或解压Linux包 ### 3.2 开发者模式 ```bash # 安装Python环境(Linux示例) sudo apt install python3-pip python3-tk pip3 install -r requirements.txt ``` ## 4. 数据准备要求 ### 4.1 必做预处理 1. **删除冗余表头**: - 手动操作:打开Excel → 定位包含"四平市普通高中xxxx.xx.xx期中考试联榜成绩"的行 → 右键删除 2. **文件规范**: - 必须为`.xlsx`格式 - 禁止使用合并单元格 - 保留原始两级表头结构 ## 5. 配置文件详解(config.json) ```json { "base_columns": ["姓名", "考号", "学号", "学校", "班级", "选科组合"], "subjects": ["总分", "语数外", "语文", "数学", "英语", "物理", "化学", "生物", "政治", "地理"], "metrics": ["分数", "原始成绩", "赋分成绩", "联考排名", "学校排名", "班级排名"], "column_mapping": { "姓名": ["姓名", "Unnamed: 0_level_1"], "考号": ["考号", "Unnamed: 1_level_1"], "学号": ["学号", "Unnamed: 2_level_1"], "学校": ["学校", "Unnamed: 3_level_1"], "班级": ["班级", "Unnamed: 4_level_1"], "选科组合": ["选科组合", "Unnamed: 6_level_1"] } } ``` ## 6. 操作指南 ### 6.1 命令行模式 ```bash # 基础分离 sp_analyzer.exe --input 原始成绩.xlsx --school "实验中学" --class "5班" # 高级筛选 python analyzer.py --input 全市成绩.xlsx --combination "物化生" ``` ### 6.2 图形界面(推荐) 1. 双击启动程序 2. 三步操作流程: ``` ┌───────────────┐ │ 1. 选择输入文件 │ │ 2. 设置筛选条件 │ │ 3. 保存分离结果 │ └───────────────┘ ``` ## 7. 输出文件说明 - 文件命名规则:`[学校名称]_[班级]_[选科组合]_成绩单.xlsx` - 特殊处理: - 自动移除`header_cleaner`中定义的冗余信息 - 保留原始数据行顺序 - 添加数据校验列(可选) ## 8.技术支持矩阵 | 功能 | Windows EXE | Linux二进制版 | 源码版 | |---------------------|-------------|---------------|--------| | 图形界面文件对话框 | ✅ | ✅ (需X11) | ✅ | | 命令行参数 | ✅ | ✅ | ✅ | | 自动更新 | ❌ | ❌ | ✅ | | 多线程处理 | ✅ | ✅ | ✅ | ## 10.自行编译EXE ```bash # 安装编译工具 pip install pyinstaller # 生成独立可执行文件 pyintaller --onefile --add-data "config.json;." analyzer.py ``` ### 10.1 构建Linux版本 ```bash # 在Linux环境下执行 pyinstaller --onefile --name score_tool_linux analyzer.py ``` ## 10. 常见问题处理 ### Q1: 出现"表头解析失败"错误 A: 检查`config.json`中`header_cleaner`的`remove_patterns`是否包含所有冗余表头关键词 ### Q2: Linux下无法启动GUI A: 执行以下命令安装依赖: ```bash sudo apt-get install python3-tk ``` ### Q3: 如何处理新考试类型的成绩单? A: 更新`config.json`中`column_mapping`,参考[配置模板](https://gitee.com/zhonghongsoftware_1/sp-exam-analyzer/blob/master/config.json) ## 11. 开源声明 - 协议:GNU GPL v3.0 - 开发者邮箱:zeta_z35a@126.com - 贡献指南:[参与开发](https://gitee.com/zhonghongsoftware_1/sp-exam-analyzer/blob/master/CONTRIBUTING.md) ## 12. 版本历史 - v1.2 (2025-05-13) - 新增header_cleaner自动清理模块 - 优化Linux兼容性 - 增加数据校验功能 - v1.1 (2024-03-20) - 增加自动列过滤功能 - 发布exe版本 --- **中宏软件技术开源社区** 保留所有权利 © 2023-Now 中宏软件技术开源社区