行者成绩统计
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_30f4352f/xz3z。
技能介绍
要解决什么问题
期中、期末成绩往往分散在多层目录的 zip 里:语数英走「单科简明.xls」,政治可能是按班拆分的 xls,列名还不完全一致。手工合并考号、算年级/班内排名、做期中期末对比,还要处理退学、学号复用和同号不同人,很容易在 Excel 里出错。本工作流面向标准化年级成绩汇总表产出,而不是泛泛的「做个表」。
技能如何工作
启动时会检测工作空间目录结构,覆盖写入前把旧版带时间戳归档到过程稿;解压 zip 用临时目录,只保留最终 xlsx 在工作区。写入引擎固定为 xlsxwriter(禁止用 openpyxl 写表),期中 xlsx 用 openpyxl 读,期末 .xls 用 xlrd。
核心链路大致是:
- 数据模式与考试信息推测:从文件名与内容推断学年学期、考试类型;推测结果会告知你并允许纠正;交互上最多问两个问题,有默认的尽量不问。
- Step 0 穿透读取:按学科规则解析 zip 内路径;政治跳过含「缺/缺考」的文件;通过班级字段匹配排除关键词(默认含
五年、旅游、三二分段,可自定义)。 - Step 1 年级总表(默认生成):按考号对齐上期与本期,计算总分、年级排名、班内排名与各科变化;
0分视为有效分数,只有 NaN 才算缺考。 - 姓名交叉验证:对比期中期末姓名,不一致时在状态列标注
⚠姓名不一致(中:…/末:…),便于人工核实。 - 特殊班级:生成前提示已排除列表;支持
exclude(默认,不参与排名)、separate(单独 Sheet)、include(纳入主表)。
默认 workbook 含年级总排名、期中 vs 期末对比、各班前 5、各班汇总、语数英政单科排名、缺考退学等 Sheet;格式上冻结前两列(班级+姓名)、仅班级列开筛选,并统一标题/表头/极值与进退色规则。
适用边界与注意点
若超过约 10% 学生期中缺考,期中期末按考号对齐会变 sparse,技能会提示改用两套原始 zip 以提升匹配完整度。排名与汇总在排除班生效后仍可事后调整模式;各班汇总若排序不符合预期,可在 Excel 里对进步率等字段再排一次。生成完成后会提示把结果复制到桌面,并建议用当前考试信息命名文件夹(如「2025~2026学年第二学期期末成绩汇总」)。
使用场景
- 期末收到语数英政多套 zip 导出后,要按考号合并并生成年级总排名与各班前 5 名
- 期中期末数据分列在不同 xlsx/zip 里,需要统一算总分、排名变化并在状态列标姓名不一致
- 存在五年制或三二分段等特殊班,要在主表排除排名或单独开 Sheet 再发给班主任
- 全校汇总表要能在手机 WPS 上按班级筛选查看,需冻结班级姓名列并统一表头样式
适合人员
- 负责年级期末汇总的教务老师,要把多层 zip 里的单科表合成一份标准 xlsx
- 班主任需要班内排名、进步率汇总以及可复制到桌面的「某学年某学期期末成绩汇总」文件夹
- 学科备课组长只要语数英政单科年级排名 Sheet,且需区分 0 分与缺考(NaN)
- 遇到转学退学或学号复用时,要靠期中期末姓名交叉验证再人工核对的年级数据管理员