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

最终效果:

(乖巧)

python筛选excel内容并生成exe文件的更多相关文章

  1. Python爬虫-播报天气信息(生成exe文件)待续

    #!/usr/bin/env python3 # -*- coding : utf-8 -*- '''1.从https://my.oschina.net/joanfen/blog/140364获取要播 ...

  2. Python 使用cx_freeze 生成exe文件【转】

    Python 使用cx_freeze 生成exe文件   在python中比较常用的python转exe方法有三种,分别是cx_freeze,py2exe,PyInstaller.py2exe恐怕是三 ...

  3. 小白学Python(19): Pyinstaller 生成 exe 文件

    python 默认并不包含 PyInstaller 模块,因此需要自行安装 PyInstaller 模块. 安装 PyInstaller 模块与安装其他 Python 模块一样,使用 pip 命令安装 ...

  4. 利用pyinstaller生成exe文件碰到的一些问题及解决方法

    在“开源图像标注工具labelme的安装使用及汉化”这篇博客中,使用pyinstaller将labelme项目的入口python文件main.py打包,生成了main.exe文件,可以在Windows ...

  5. 使用PyQt5自制文件查找工具,并生成EXE文件

    一.工作中,有一个关键词查找工作,查找开发版本中使用的文本,有哪些词语是非法的,一个一个去查太累了,所以想到了用代码来实现.可后来想想,能否做成简单的小工具,大家都可以使用. 于是就着手编写工具.原来 ...

  6. pyinstaller生成exe文件失败

    我的python是3.6,目前pyinstaller并不支持,有网友建议在Github上下载源码,用pyinstaller_develop文件夹替换pyinstaller安装位置下同名文件夹.这样做之 ...

  7. java 写 Excel(不生成实体文件,写为流的形式)

    java 写 Excel(不生成实体文件,写为流的形式) public String exportReportExcel(String mediaCode, List<SimpleMediaRe ...

  8. 如何打包/运行jar包,及生成exe文件

    关于如何打包/运行jar包,以及生成exe文件.之前各种查询.博客,终于搞明白究竟是咋回事.记得还做过笔记的.今天要打包生成exe用的时候,居然忘了咋怎来着.去查看之前的笔记,死活没找到(好像被删掉了 ...

  9. Java多线程之赛跑游戏(含生成exe文件)

    在JavaSE中,多线程是一个重要的内容. 我们要了解多线程的概念,就要先了解进程的概念:要了解进程的概念,就离不开操作系统的概念. 在一台正常运行的电脑中,计算机硬件(如CPU.内存.硬盘.网卡.显 ...

随机推荐

  1. 这个Spring Security登录插件牛啊,验证码、小程序、OAuth2都能快速接入

    上次我们把验证码登录.小程序登录优雅地集成到了Spring Security,很多同学大呼过瘾,相比较一些传统玩法高级了很多.胖哥就赶紧抓住机会举一反三,把几个非标准的OAuth2也接入了进来,主要是 ...

  2. vue封装手机验证码

    // 获取验证码 let endMsRes = new Date().getTime() + 45000; localStorage.setItem("myEndTime", JS ...

  3. UiPath邮件自动化

    在UiPath中下载Outlook电子邮件附件Outlook电子邮件自动化教程UiPathRPAhttps://www.bilibili.com/video/BV1oK411L72T 在UiPath中 ...

  4. 机器学习基础:用 Lasso 做特征选择

    大家入门机器学习第一个接触的模型应该是简单线性回归,但是在学Lasso时往往一带而过.其实 Lasso 回归也是机器学习模型中的常青树,在工业界应用十分广泛.在很多项目,尤其是特征选择中都会见到他的影 ...

  5. Tapdata Cloud 2.1.5来啦:新增支持Amazon RDS数据库,错误日志查询更便捷,Agent部署细节再优化

      需求持续更新,优化一刻不停--Tapdata Cloud 2.1.5 来啦!   最新发布的版本中,数据连接再上新,同时新增任务报错相关信息快速查询入口,开始支持 JVM 参数自定义设置.   更 ...

  6. 如何准备论文线上Presentation视频录制教程(Summary of Video Recording)

    0:前言 由于国外的疫情严重,目前大多数学术会议都是线上举办,因此往往需要制作presentation的视频录制.由于各种软件横飞,有的需要会员并且不熟悉操作,特别浪费时间.因此,我将这次的操作和遇到 ...

  7. 使用APICloud AVM框架开发预约应用

    前段时间跟朋友一起搞了一个预约的项目,前端用的APICloud的AVM框架做的,后端用的php开发的,用的tp5框架,没几天就搞出来了.简单跟大家分享一下开发中的一些功能点的实现吧.也欢迎大家一起探讨 ...

  8. HashMap中的哈希函数分析

    首先我们要知道,在理想情况下的哈希表中,哈希函数生成的哈希值是value在数组中的下标,其范围是分布于负无穷到正无穷的整个实整数轴的.而在现实情况下,是不可能存在这么大的一个数组的.接下来分析Hash ...

  9. Vue生命周期和MVVM框架

    生命周期 组件从开始到结束的全过程 创建阶段:beforeCreate.created 挂载阶段:beforeMount.mounted 更新阶段:beforeUpdate.updated 销毁阶段: ...

  10. 如何在Excel批量查询电话号码归属地?

    手机号码归属地的重要性大家应该都清楚,如果取消或者更改手机号码归属地,那么一会增加用户的被诈骗风险;二是对套餐资费会产生影响,加剧企业间的竞争,加剧数字鸿沟;三是企业运营管理需要投入大量人力物力,是个 ...