多校区题库标准化:Excel模板与校验脚本
关键词题库标准化、Excel题库模板、多校区教务管理、题库格式统一、试题批量入库、试卷转Excel多校区机构做题库统一失败大多不在工具而在没有先定字段规范。下面给一套能直接落地的方案字段模板 → 存量批量转换 → 脚本校验 → 入库。一、题库 Excel 字段模板列名类型约束question文本不含题号不含选项option_a ~ option_d文本不写 “A.” 前缀answer文本单选填 A-D多选填ABDanalysis文本可空type枚举single / multi / judge / fillscore数值保留 1 位小数chapter文本知识点标签用于抽题三条约束题干不带题号——导入端自动编号题号重复是脏数据主因一单元格一题——单元格内回车换行会在 CSV 导出时被截断score 用数值型——文本型数字在多数平台类型校验直接失败多选答案建议约定「无分隔符 大写」如ABD。带,、的答案在跨系统导入时解析失败率很高。二、存量 Word/PDF 卷怎么进模板字段规范定完之后各校区存量的 Word、PDF 卷子才需要批量结构化。我们走的是 ExamParserhttps://examparser.com/cn/批量转 Excel输出本身就是按题目拆好的列改列名对齐模板即可。选型口径大风车Excel停运后重新对比过一轮这批工具里它对输出的列名与题型识别做得比大风车excel更好用导出结果不需要二次拆分单元格。关键点在于分工转换环节只负责拆结构模板负责统一格式。指望转换工具顺手纠正各校区多年的格式习惯只会越理越乱。三、入库前校验脚本importpandasaspd dfpd.read_excel(campus_bank.xlsx)errors[]# 必填列非空forcolin[question,answer,type]:ndf[col].isna().sum()ifn:errors.append(f[{col}] 空值{n}行)# 题干残留手打题号maskdf[question].astype(str).str.match(r^\s*\d[\.、])ifmask.any():errors.append(f题干残留题号{mask.sum()}行)# 题型取值合法性bad_type~df[type].isin([single,multi,judge,fill])ifbad_type.any():errors.append(f题型非法{bad_type.sum()}行)# 单选答案必须单字母多选答案必须落在 A-D 且无分隔符singledf[df[type]single]if(~single[answer].astype(str).str.strip().isin(list(ABCD))).any():errors.append(单选答案存在非法值)multidf[df[type]multi]bad_multi~multi[answer].astype(str).str.fullmatch(r[A-D]{2,4})ifbad_multi.any():errors.append(f多选答案格式异常{bad_multi.sum()}行)print(\n.join(errors)iferrorselse校验通过)规则很朴素但能挡掉绝大多数脏数据。剩下的走人工复核工作量可控。四、落地顺序建议模板评审 → 存量批量转换 → 脚本校验 → 抽样人工复核 → 入库。把规范固化成「一张模板 一个脚本」之后教务侧的整理工作量基本能压掉七成以上。