青年大学习筛选未完成的人员名单
- 一个班级全部姓名
.xlxs
表格 - 一个新的要晒选人员名单的
.xlsx
表格
这两个表格的班级所在的列数要一摸一样,因为是按列来取值
- 下载
.exe
文件 - 下载配置目录
conf
,放在.exe
的同一级目录 - 用自己班级的
.xlxs
替换conf 目录下的两个.xlxs
并改名 - 修改配置文件信息
properties.conf
all_name_file
是全部人员文件名new_name_file
是要筛选的文件名index
是班级所在.xlsx
中的第几列,从0开始计数
- 运行
.exe
- 查看
conf
下的.txt
文件,即为未作人员名单
- 实现了从
.xlsx
文件中读取数据 - 实现了数据的格式化清洗(学号,班级等)
- 实现了筛选未人完成的人员名单
- 实现了输出人员名单在
.txt
中
- 全部姓名取值和要筛选的人员都是依赖
.xlsx
文件,且两个文件的格式要一致 - 数据的格式化只局限于指定的班级,如果需要修改则要修改源码,重新打包
- 筛选出的人员名单没有进行持久化处理,后期无法统计次数
- 只做了筛选人员名单作用,没有真正实现提醒功能
-
一个全班人员信息的
.xlsx
表,并导入数据库 -
一个要筛选人员的
.xlsx
表
- 在Mysql中下载并导入数据库
young_study.sql
- 下载
.exe
文件 - 下载
conf
文件夹 - 用自己班级的
.xlxs
替换conf 目录下的.xlxs
并改名 - 修改配置文件信息
- 运行
.exe
文件
# 文件信息
[file_info]
# 现在要比较的 xlsx 文件,可以自定义名字
new_name_file = "19届·9.27期大学习有效后台数据(周三14:15导出).xlsx"
# 班级信息
[class_info]
# 班级在表中处于第几列,从 0 开始数,如软件1901在第三列,那就是2
index = 2
# 班级姓名
class_name = "软件技术1901"
# 数据格式化的词语
[clear_format]
# 能直接替换到的词语,一般是固定的词语,比如‘空格符号’ ‘班级全称’ ‘班级简称’等。用‘,’分开。
normal_str_list = "默认值(不可刪)","软件技术1901","软件1901"," "
# 一般会变化,但是有规律的字符串,比如学号:前七位一致,后两位为数字,可以采用正则表达式。用‘,’分开。
reg_str_list = "默认值(不可刪)","1904301\d{2}"
# 链接数据库的信息
[mysql_info]
host = "localhost"
user = "root"
passwd = "root"
db = "young_study"
# 电子邮件信息
[email_info]
# 开启电子邮件的方式:QQ邮箱:smtp.qq.com
host = "smtp.qq.com"
# 密钥,授权码
pass = "tjwelqulkqpjhiai"
# user 和 sender 的邮箱必须保持一致
user = "1308129550@qq.com"
sender = "1308129550@qq.com"
# 发送邮箱的标题
subject = "学习新**,争做新青年"
# 发件人姓名
from_header = "软件技术1901团支部"
- 优化了全部信息的读取和存储
- 实现了自定义的数据清洗功能,包括固定字符串和正则表达式
- 优化了未完成人员的记录和输出到文件中
- 实现了邮箱提醒功能
- 优化了时间,避免多次重复同一期未完成的人员名单
- 耦合度过高
- 去除班级信息重复两次,导致多删除一个人
- 未完成统计功能
- 未完成数据信息的导入功能
- 未完成修改此人是否完成的功能
- 先导入班级的所有的信息进入数据库
- 将要筛选的
.xlsx
放在指定位置 - 读取
.xlsx
中的所有的人员信息 - 将要筛选的人员信息数据格式化,并存入数据库
- 将人员信息读出来,并写入文件中输出
- 将人员信息读出来,并用邮件进行提醒
- 将已经做的人的标志改为
已做