考勤处理技能 V2
读取企业微信导出的考勤报表、考勤异动申请(请假)和外出审批Excel文件,完成标注和统计分析两个步骤。
触发条件
用户提到考勤关键字使用。
工作流程
从工作目录(项目根目录,如 D:\工作空间\考勤任务)下运行脚本:
第一步:标注报表
cd <项目目录>
python <skill_dir>/scripts/mark_attendance.py
脚本交互式提示输入年份和月份,自动完成:
- 自动匹配
考勤报表.xlsx(文件名含"考勤报表"的 xlsx) - 读取
考勤异动申请/目录下所有 xlsx,提取有效请假(已通过+覆盖考勤月) - 读取
外出/目录下所有 xlsx,提取有效外出(已通过+覆盖考勤月) - 将请假(红字新宋体9号)和外出(黑字新宋体9号)标注到报表单元格
- 保存为
{年份年月份}考勤报表_已标注.xlsx(自动带入年月信息)
详细规则见 references/rules.md。
第二步:统计分析
cd <项目目录>
python <skill_dir>/scripts/attendance_analysis.py
自动完成:
- 自动匹配已标注的考勤报表文件(按文件名含"考勤报表"和"已标注"匹配),自动检测考勤年月
- 生成单一表格(每行一名员工,每天分上午/下午)
- 颜色填充:休息(灰)、迟到(浅红)、早退(浅黄)、请假(浅蓝)
- 内置2026年法定节假日识别(含调休补班)
- 保存为
{年份年月份}考勤统计分析.xlsx(自动带入年月信息)
文件位置约定
所有输入输出文件均在当前工作目录下:
- 输入:
(月)考勤报表.xlsx、考勤异动申请/、外出/ - 输出:
{年份年月份}考勤报表_已标注.xlsx、{年份年月份}考勤统计分析.xlsx
注意事项
- 使用
openpyxl操作 Excel,无需安装其他依赖 - 姓名匹配支持简繁/异体字自动映射
- 节假日数据在
attendance_analysis.py的HOLIDAYS_2026字典中,其他年份需手动更新 - 脚本运行前请确保
cd到考勤数据所在的项目目录
V2 改进说明
- 跨天外出修复:不再对所有天统一使用同一时段判断,起始/中间/结束日分别按规则判定
- 日期边界修正:用
calendar.monthrange替代硬编码的30,支持任意月份 - 文件自动匹配:按模式匹配考勤报表,不再硬编码文件名
- 工作目录自适应:使用
os.getcwd()动态获取,脚本无需修改即可在不同项目复用
V3 改进说明
- 输出文件名代入年月:标注报表输出为
{年份年月份}考勤报表_已标注.xlsx,统计分析输出为{年份年月份}考勤统计分析.xlsx - 输入文件自动匹配:
attendance_analysis.py不再硬编码输入文件名,改为在工作目录下自动匹配含"考勤报表"和"已标注"的 xlsx 文件
Scan to join WeChat group