批量解析nobody大学 OA 流程中的需求、缺陷及测试报告文档,并生成统一的 Excel 汇总表。
- 支持批量读取
.doc
、.docx
、.xls
、.xlsx
文档。 - 自动识别 OA 号并按 OA 号合并需求说明与测试报告。
- 输出
01_需求与缺陷汇总.xlsx
(单 Sheet:需求总表)及对应日志文件。 - 自动补齐常见字段(状态、归档信息等),方便后续做数据透视或复盘。
- Python 3.10 及以上版本。
- 可选:若需自动将旧版 Word(
.doc
)转换为.docx
,请提前安装 LibreOffice 并保证soffice
在系统路径中。
python -m venv .venv # 可选:创建虚拟环境
source .venv/bin/activate # Windows 请输入 .venv\\Scripts\\activate
pip install -r requirements.txt
- 准备一个输入目录,放置 OA 导出的需求/Bug 说明 Word、测试报告 Word/Excel 等文件。
- 建议文件名包含 OA 号,方便兜底匹配。
- Word 模版中需保持原有表格字段名称(如“修改类型*”、“需求标题*”、“测试位置”等)。
- 执行脚本,指定输入目录与输出文件路径,例如:
python requirements_extractor.py \ --input ./input_docs \ --output ./dist/01_需求与缺陷汇总.xlsx
- 程序会在输出目录生成:
01_需求与缺陷汇总.xlsx
:整合后的需求/缺陷/测试单表。01_需求与缺陷汇总_log.txt
:运行日志与解析失败列表。
- 脚本会把
/Applications/LibreOffice.app/Contents/MacOS
注入PATH
,确保soffice
可用;若 LibreOffice 安装在其他位置,请修改脚本顶部的路径。 - 默认执行
python3 requirements_extractor.py --input ./input_docs --output ./dist/01_需求与缺陷汇总.xlsx
,传入两个参数即可覆盖输入、输出路径。 - 可通过环境变量
PYTHON_BIN
指定 Python 解释器,例如PYTHON_BIN=.venv/bin/python ./run_extractor.sh
。 - 若脚本文件来自新的克隆或位置,请先运行
chmod +x run_extractor.sh
赋予执行权限。 - 实际运行示例:
./run_extractor.sh ./my_docs ./dist/custom.xlsx
。
OA号
:自动提取自文档内容或文件名,作为合并主键。匹配结果
:完整匹配
/仅需求
/仅测试
。状态
:根据测试结果自动标记为“未验证”“已测试通过”或“未通过”。- 其余字段保持模板名称,方便导入现有流程。
- 提示未安装 python-docx:请确认已经执行
pip install -r requirements.txt
。 - 解析失败或缺少 OA 号:检查文档内容是否包含标准字段;必要时在文件名中加入 OA 号以便兜底识别。
.doc
未自动转换:确认已安装 LibreOffice,或手动先转换为.docx
。
requirements_extractor.py
:主脚本,包含文档解析与合并逻辑。requirements.txt
:Python 依赖列表。LICENSE
:MIT 许可协议。
本项目基于 MIT License 发布,可自由复制、修改和分发。