在
询问作者使用程序前,请仔细阅读本教程,90%的问题都可以在这里找到答案!
写给谁
- 需要使用该程序进行数据处理的小伙伴
想要了解技术实现思路的人(先留一个坑,以后有空再填)
功能
- 制作每日到课率表
- 制作异常情况表 + 截图重命名
程序下载
点击 data-make.py 下载使用
Note: 本代码使用的 Python
版本为 3.8.8
(请保证使用的 Python
版本至少是 3.0.0
之后),且需要安装 numpy
和 pandas
两个库
python -m pip install numpy
python -m pip install pandas
Warn: 每学期需要更新代码中 crtyear
、 week1m
、 week1d
、 week1y
参数值
开始使用
1. 数据准备
(1)目录结构示例
说明:备注【命名】则是需要确保文件或文件夹名称符合示例要求
.
├── 第7周异常情况记录备案.xlsx # 确保异常记录都是本周的即可(如果没有异常,则准备一个没有内容,只有大表头和小表头的表)
├── 闻韶楼.xlsx # 确保数据在第一个sheet里
├── 天山堂 # 文件夹
│ ├── 天山堂.xlsx # 确保数据在第一个sheet里
│ └── 第7周 # 【命名】第7周√,第七周×
│ ├── 周一 # 【命名】昨天的截图(必需包含9-11节,可以多不能少,为了方便通常整个复制过来;如果是周一就只留周一的截图即可)
│ │ ├── 1-2节 # 【命名】
│ │ │ ├── A302.JPG # A302-1.JPG无法识别,需手动移动到相应文件夹(程序会根据异常情况主动搜索相应JPG,未找到的会打印输出提示出来)
│ │ │ └── B401.JPG
│ │ ├── 3-4节 # 【命名】
│ │ ├── 5-6节 # 【命名】
│ │ ├── 7-8节 # 【命名】
│ │ └── 9-11节 # 【命名】
│ └── 周二 # 【命名】今天的截图,目录结构同周一(可以多不能少,例如可以有晚上9-11节的截图)
└── 秦岭堂 # 目录结构同天山堂
截图示例(./ 表示当前目录,使用相对路径)
路径示例 | 路径示例 |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
(2)到课率原始数据【查课助理】
只保留小表头 + 今天要处理的数据(eg. 周二9-11+周三1-8),建议按行复制,不要遗漏备注,最后另存为新表,数据存入新表的第一个sheet中
此处以秦岭堂为例,天山堂、闻韶楼同理
(3)异常情况记录备案【办公室助理】
如果有上周周5异常课程的记录,需删除(删除后序号无需调整),保证记录的异常情况都是本周的,其余不变
(4)截图
截图路径示例(注意:截图存放在第7周,不是第七周)
F:\到课情况原始数据\20231017\天山堂 #「第7周」文件夹上一级
2. 运行程序
(1)打开cmd
(2)运行程序
python .\data-make.py # 运行程序
选择闻韶楼 or 天山堂/秦岭堂
3. 输入选项
- 第一项:模式选择【参考运行程序(2)】
- 第二项:数据地点(闻韶楼模式下无需输入)
- 第三项:原始查课数据路径(小表头 + 今天待做数据)【详见数据准备(2)】
- 第四项:异常到课数据路径【详见数据准备(3)】
- 第五项:截图文件夹路径【详见数据准备(4)】
- 第六项:生成文件路径,即文件输出位置
输入概览
4. 打印输出(用作检查)
输出
and another 输出
5. 见证奇迹
示例
20231017天山堂 # 文件夹
├── 天山堂10月17日学生到课情况统计表.xlsx # 到课率表
└── 10月17日榆中校区截图 # 文件夹
├── 天山堂2023秋季学期异常课堂截图记录(20231017).xlsx # 异常情况表
├── 20231017天山堂截图1.JPG # 截图
├── 20231017天山堂截图2.JPG
└── 20231017天山堂截图3.JPG
路径示例 | 表格内容 |
---|---|
![]() |
![]() |
![]() |
![]() |
![]() |
节假日
Note: 节假日处理数据的助理需要且只需要处理当天的数据(包括晚上)
1. 保证输入的到课率数据为对应时间段的数据(eg. 当天1-11节)
与前面操作相同(略)
2. 先改变原始数据星期列(查课助理到课率表+办公室助理异常情况表均需更改)为今天真实星期,再将程序输出的到课率表的星期列调回原来的星期
a. 查课助理到课率表星期列更改
b. 办公室助理异常情况表星期列更改
补充:Excel单元格快速填充(三步)



c. 程序输出的到课率表星期列调回原值
程序跑不了
- 输入路径存在空格【重命名文件/文件夹,删去空格】
- 原始查课数据未经选择直接丢给程序 【处理方法见数据准备(2)】
- 原始查课数据中到课人数存在空值 【此时需要赋值为0】
程序跑完后
重点是每日到课率表
- 加入大表头(仔细仔细再仔细:日期、节次、地点)
- 调格式(字体,行高,表头加粗)
- 到课率低于70%标黄
- 调整最后一列备注
- 最后一行加入备注说明
Leave a comment