🎯 设计模式: Generator + Reviewer + Pipeline 📁 代码文件:
achievement_generator.py🔍 审查脚本:scripts/review_document.py📖 公式参考:references/grading-formula.md
bash
# 生成 + 审查(自动执行)
python3 achievement_generator.py --pipeline "C#程序设计-23级软工.xls"
# 或分步执行
python3 achievement_generator.py "C#程序设计-23级软工.xls"
python3 scripts/review_document.py "C#程序设计-23级软工-课程目标达成情况分析表.docx"
bash
# 生成文档
python3 achievement_generator.py <Excel文件>
# 审查文档
python3 scripts/review_document.py <输出文件.docx>
text
achievement-qztc/
├── SKILL.md # 本文件
├── achievement_generator.py # 主生成器(Generator模式)
├── scripts/
│ └── review_document.py # 质量审查(Reviewer模式)v2.0
└── references/
└── grading-formula.md # 评分公式(Tool Wrapper)
text
┌─────────────────────────────────────────────────────────────┐
│ STEP 1: 生成 (Generator) │
│ python3 achievement_generator.py <Excel> │
│ ↓ │
│ ✅ CHECKPOINT 1: 文件生成成功? │
│ ↓ │
│ STEP 2: 审查 (Reviewer) │
│ python3 scripts/review_document.py <输出.docx> │
│ ↓ │
│ ✅ CHECKPOINT 2: 所有检查项通过? │
│ ↓ │
│ STEP 3: 交付 │
└─────────────────────────────────────────────────────────────┘
组件说明数据源表7汇总表各目标平均达成度 + 实际得分表8明细表每学生得分/达成度 + 平均行Chart1-4散点图每学生各目标达成度Chart5柱状图各目标平均达成度百分比分析段落文本avg/max/min/pct_80/pct_60
检查项说明✅ text_replacement所有占位符已替换✅ summary_table汇总表数据完整✅ detail_table明细表正确✅ charts图表数据合理✅ analysis_paragraphs分析段落正常
python
# 权重和目标配置均从模板表7动态读取(不再硬编码)
# read_weights_and_config_from_template(doc) →
# weights: 表7 Row 2 的 col3/col4/col5
# target_config: 表7 各目标理论满分行 (Row 4/7/10/13) 的 col3/col4/col5
# total = col3×权重.col3 + col4×权重.col4 + col5×权重.col5
# 达成度 = 目标得分 / 理论满分(total)
text
序号 | 学号 | 姓名 | 目标1得分 | 目标1达成值 | 目标2得分 | 目标2达成值 | ...
平均 | 平均 | 平均 | 得分平均 | 达成度平均 | 得分平均 | 达成度平均 | ...
python
import pandas as pd
from docx import Document
import zipfile
from lxml import etree
版本日期内容v5.02026-03-28**Pipeline一键执行 + Reviewer v2.0 + references/**v4.42026-03-28修复表8平均行、Chart5、Charts1-4数据v4.32026-03-28表7实际得分 + chart5v4.02026-03-27动态表格查找、CLI
v5.2 - 2026-04-09 - 权重和目标配置从模板表7动态读取 v5.0 - 2026-03-28 - Generator + Reviewer + Pipeline