周报生成 · 日报月报一键出 Word+Excel
把「翻聊天记录 → 手攒周报」这条活整条接管:记录 → 周期过滤 → 状态归一 → 统计 → 出成品 Word + Excel,全部本地完成。
它解决什么问题
- 周报最花时间的不是写字,是翻记录、对日期、数条数——这几步脚本比人快且不出错
- 网上的周报工具要么要连飞书/钉钉授权,要么只给一段提示词让你自己写,没人直接出 Word 成品和 Excel 统计
- 完成率、工时、环比这些数字手算容易错;风险事项容易漏
快速开始
PY=你的python3 # 任意装了 python-docx 和 openpyxl 的 python3 都行
# 1) 先生成一个记录模板,按格式填一周记录
$PY zhoubao.py template -o 记录模板.xlsx
# 2) 一键出周报(默认本周,周一~周日)
$PY zhoubao.py build 记录.xlsx --period week --out ./周报输出 --author 你的名字
# 3) 带上周记录算环比、带下期计划
$PY zhoubao.py build 本周.xlsx --prev 上周.xlsx --plan 下周计划.txt --out ./周报输出
# 4) 月报 / 自定义区间 / 周日起算
$PY zhoubao.py build 记录.xlsx --period month --out ./输出
$PY zhoubao.py build 记录.xlsx --from 2026-10-20 --to 2026-10-26 --out ./输出
$PY zhoubao.py build 记录.xlsx --week-start sunday --out ./输出
# 5) 只体检不出文件(查缺日期、状态认不出、重复条目)
$PY zhoubao.py check 记录.xlsx
# 6) 不想拿真实记录试?先跑虚构示例
$PY zhoubao.py demo
依赖:python-docx、openpyxl。缺了会打印一条可直接复制的安装命令;除此之外零依赖、不联网。
输入长什么样
支持 xlsx / csv / tsv / txt / md / docx,可一次给多个文件(自动合并、自动去重)。
- 表格:第一行是表头即可,列名认「日期 / 项目 / 工作事项(内容/任务)/ 状态(进度)/ 负责人 / 工时 / 备注」的常见写法,列的顺序和多少都随意
- 随手记:一行一条,支持
-/1./- [x]前缀、10-26或2026-10-26日期前缀、# 项目名分组、(已完成)进度 60%状态标注 - 状态写法都认:已完成 / 进行中 / 未开始 / 延期 / 受阻 / 100% / 60% / done / todo
详见 references/01-输入格式与字段.md。
输出长什么样
- Word 周报:五段式(本期概览+统计表 → 按项目完成情况 → 进行中与下期计划 → 问题与风险表 → 数据口径),黑体标题、宋体正文、表格带边框,打开就能交
- Excel 台账:明细(每条含状态归一、是否计入本期、风险点、来源行号)/ 统计(总体+按项目+按负责人)/ 风险清单 / 环比 四张表
- Markdown:同结构,方便贴群里
能做的(与做不到的,说清楚)
能:
- 周期过滤:日 / 周 / 月 / 季 / 年 / 自定义区间;期外条目不进统计但保留在明细里可查
- 状态归一 + 完成率 / 工时 / 项目分布 / 负责人分布统计,全部数字可溯源到明细行
- 风险抓取:延期、受阻,以及备注里的「依赖 / 待确认 / 缺人 / 排期冲突」等信号(写「无风险」「已解决」的不会误抓)
- 环比:完成率(百分点)、条目数、完成条数、工时四项对比
- 自动去重同项目下文字相同的条目;GBK 编码 csv 也能读
不能(写明比吹了再翻车强):
- 不改写文字:正文就是你的记录原文,脚本不帮你把「做了个页面」润色成亮点——那一步交给 Agent 对话补,但数字与结构由脚本保证
- 状态与日期认不出的不猜:按「未标注」统计并在报告口径里写明条数
- 不连飞书 / 钉钉 / 邮件自动拉记录:需要你把记录导出成文件(这是刻意设计,见 references/03-常见问题.md)
- 不输出 PDF(需要时在 Word/WPS 里另存)
自测
$PY zhoubao.py selftest
内置回归 100 项:状态判定合法输入 0 误判、该命中 0 漏报、风险识别 0 误报 0 漏报、周期边界(含周日口径/闰月/季度)、端到端 docx+xlsx 回读校验、GBK/空表/坏文件边界、800 条 <3s。
边界与合规
- 工作记录只在本地处理,不联网、不上传
- 完成率 = 已完成条数 ÷ 本期总条数(未标注状态的不计入分子),口径在报告里写死,跟谁汇报都经得起追问
- 示例与演示数据全部虚构(示例项目甲乙丙 / 示例成员甲乙丙 / 虚构日期),不含任何真实个人信息