编程语言
首页 > 编程语言> > python筛选excel内容并生成exe文件

python筛选excel内容并生成exe文件

作者:互联网

最近疫情原因,班级每天都要筛选未打卡人员,每次都手动操作太麻烦了。遂写下如下的程序,并且生成了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()

 

标签:exe,python,excel,workbook,print,me1,pip,line,Datas
来源: https://www.cnblogs.com/many-gogo/p/16116039.html