最近疫情原因,班级每天都要筛选未打卡人员,每次都手动操作太麻烦了。遂写下如下的程序,并且生成了exe可执行文件。 1. 主程序 import openpyxlimport pyperclip# 1.加载excel表path="C:/Users/
最近疫情原因,班级每天都要筛选未打卡人员,每次都手动操作太麻烦了。遂写下如下的程序,并且生成了exe可执行文件。
1. 主程序import openpyxl
import pyperclip
# 1.加载excel表
path="C:/Users/18768/Desktop/导出数据.xlsx" #此处填写excel存放地址,我是放到桌面了。
workbook = openpyxl.load_workbook(path)
sheet_names = workbook.sheetnames
sheet0 = workbook[sheet_names[0]] #加载第一个数据表
# 2.筛选数据表中【班级】的数据
Datas = []
for row in sheet0.rows:
lines = [cell.value for cell in row]
Datas.append(lines)
print(len(Datas))
me1= []
for line in Datas:
if line[37] == '班级1' or line[37] == '班级2':
me1.append(line[1]) #人名添加到列表中
print(len(me1))
print(me1)
namelist='''
小明
张三
李四
'''
correct_list = namelist.split( )
a= set(correct_list).symmetric_difference(set(me1)) #查找未打卡名单
print(a)
answer = ' '.join(a)
pyperclip.copy(answer) #得到的人名自动存在剪贴板上
2. 生成exe的方法
本方法参考了这篇博文https://blog.csdn.net/Python_kele/article/details/118495091。
有两个坑需要注意:
①但该文章有个细节没说清楚。就是创建了虚拟环境后,必须在该环境中也安装pyinstaller库,否则打包后发现还是用的默认环境的库,文件还是很大。
②我这边创建虚拟环境后发现pip还是用的全局pip,当前虚拟环境并没有pip。于是用该方法安装对应版本pip
conda create -n random_env python=3.8.8 pip=21.0.1
最后的总结一下完整步骤:
# 将以上内容打包成exe文件
'''
conda create -n random_env python=3.8.8 pip=21.0.1
conda activate random_env
pip install pyinstaller pyperclip openpyxl
转到程序所在的文件夹之后
pyinstaller -F -w --icon=favicon.ico choice_stu_no_register.py --noconsole
'''
2022-04-08 10:40:35
2.0版本--更新添加了启动文件选择对话框的内容,只需添加以下内容即可
import tkinter.filedialog
# 0. 选择文件
path = tkinter.filedialog.askopenfilename()
最后附上git地址 https://github.com/WangMengxiao319/choice_stu_no_register
最终效果:(乖巧)