试题智能导入模板转换器
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_2ed69ff3/exam-to-template
技能介绍
痛点:原始试卷难以直接导入
在处理历史题库或第三方试卷时,开发者常面临格式碎片化问题:试题与答案可能混排在同一文档末尾,也可能按题型拆分在不同文件中;多选题答案粘连、选项与题干挤在同一段落等情况屡见不鲜。直接用脚本读取 .docx 并生成符合平台规范的 JSON 或 Excel 模板,往往需要编写大量针对正则的修补逻辑。
工作原理
该技能将转换逻辑拆分为两个独立的 Python 脚本,分别覆盖两种最常见的文档组织模式:
- 混排模式(
convert_exam.py):适用于纯单选题场景,题干末尾嵌有A-E答案字母。脚本通过双正则策略(优先匹配:分隔符,其次匹配尾部字母)提取题干与答案,支持无编号纯文本段落作为选项,并按指定数量重构为标准单选格式。 - 分离模式(
convert_separated.py):适用于包含一、单选题等明确标题的混合题型试卷。该脚本独立解析试题与答案文档:对试题侧,合并段落并利用(?:^|\n)(\d+)[.、]定位题号边界,切割题型区域;对答案侧,兼容.doc与.docx,并实现多选题答案的智能分割(如将ABCDEABD拆分为独立选项组)。
适用边界
- 依赖
python-docx处理现代格式,若源文件为旧版.doc,需在非 macOS 平台手动转换为.docx。 convert_exam.py仅支持单选题,若文档存在题干以字母结尾且无冒号分隔的情况,脚本会输出 ⚠️ 警告,需人工核实或在源文档中补充分隔符。- 多选题答案必须遵循“字母严格递增”的排序规则(如
ABD有效,DBA无效),否则解析器可能无法正确切分答案。 - 输出字体默认为
宋体,可通过环境变量EXAM_FONT自定义。
使用场景
- 手里有一份题干末尾嵌着答案字母的旧试卷 docx,需要批量转成平台规定的单选题导入模板。
- 试题和参考答案是两个独立文件,试卷含单选、多选、判断三种题型,需要合并整理成统一导入格式。
- 答案文档是旧版 .doc 格式,按题型分段列出参考答案,需要解析后生成可导入的 docx 模板。
- 源文档中题干夹杂括号说明、选项有的分行有的 Tab 分隔,需要清洗并结构化成逐题区块。
适合人员
- 教育平台后端开发者,需要为题库系统实现 docx 批量导入与格式校验功能。
- 教研机构的题库编辑,定期把电子化后的纸质试卷整理成平台要求的导入文件。
- 做教育工具的独立开发者,需要快速产出兼容主流教学平台的试题导入模板。