Python处理Excel文件并打包EXE可执行文件

01
推荐用openpyxl库处理Excel表
在现代的数据驱动时代,Excel表格成为各行各业中最常用的数据存储和处理工具之一 。然而,对于大量数据或需要自动化处理的任务来说,手动操作Excel显然是低效而繁琐的 。
小陈老师在工作中就碰到了一个任务需求:定时检查邮箱中是否存在对应主题的邮件,若存在对应主题的邮件,需要将邮件中的附件Excel下载到本地,根据相应的规则对邮件进行解析,检查修改填充相应的数据内容,最终将处理完Excel文件返回给发件人 。
本来接到这个需求想通过JAVA进行实现,奈何对方电脑上没有配置Java的环境变量所以在交付使用的环节可能会出现问题,后来决定通过Python/ target=_blank class=infotextkey>Python解决 。
【Python处理Excel文件并打包EXE可执行文件】通过本例,将教大家如何使用Python来处理Excel文件,并且将其打包成可执行文件(EXE),让您可以在没有Python环境的计算机上也能轻松运行您的数据处理任务 。
在处理Excel文件的时候推荐大家两个强大的库Pandas和openpyxl 。它们为Excel数据处理带来了崭新的解决方案 。openpyxl允许我们直接访问和修改Excel文件的单元格、样式和图表等内容 。相比于其他库,openpyxl的优势在于它可以完全控制Excel文件的结构和外观,让我们能够实现更加细致和定制化的操作 。
要使用openpyxl,我们需要先安装相应的模块:pip install openpyxl 。
02
建立Excel文件
下面通过建立和修改Excel文件的实例来了解一下openpyxl的用法 。
新建一个Excel文件,向Excel文件中添加三行数据,分别是姓名、年龄、城市 。首先我们导入相关的函数Workbook 。Workbook相当于创建一个wb对象,一个空白的Excel文件,然后获通过wb.active()获取到当前活动工作表,也就是我们常说的Sheet页面 。
其次可以准备我们需要的数据了,这里我们通过双重列表的形式展现,内层嵌套了三条不同的数据信息【Name、Age、City】,大家也可以根据自己的数据进行替换,然后通过循环的方式,读取双重列表,将列表的数据通过Append方法填充到我们的Excel已经激活的Sheet工作表中 。添加完成后不要忘记将我们的Excel保存到指定的路径中 。这样运行Python代码大家就会发现我们的Excel文件中已经填充了三行数据,这三行数据刚刚是我们代码中所写的(图1) 。

Python处理Excel文件并打包EXE可执行文件

文章插图
03
修改Excel文件
完成新建并填充Excel数据内容后,接下来看看修改Excel中的数据内容 。我们需要导入相关的函数load_workbook,顾名思义也就是打开加载我们的Excel文件,这里打开加载文件需要使用Excel文件的全路径,否则会出现文件找不到的情况 。
然后获通过wb.active()获取到当前活动工作表,获取到对应的工作表我们便可以对Excel表中的数据进行修改了,修改数据的方式有两种一种直接通过横纵坐标的方式修改,比如我想将C2中的New York修改为China,直接通过ws[‘C2’] = 替换的内容即可,也可以指定第几行第几列的方式来决定(cell表示行和column表示列,value代表替换的内容) 。替换完成后不要忘记将文件进行保存 。再次打开更新后的文件我们会发现Excel数据内已经完成替换 。
使用openpyxl需要注意的一点是目前只支持.xlsx类型的Excel文件,若是.xls类型的文件只能使用xlrd和xlrw两个模块(图2) 。
Python处理Excel文件并打包EXE可执行文件

文章插图
04
打包Python代码cel文件
最后我们将自己写完的程序打包成EXE可执行文件,那么别人拿到后便可以双击直接运行了,首先我们需要安装一个模块PyInstaller,安装完成后我们打开代码所在的目录,通过一句简单的命令即可打包完成,还可以选择自定义程序图标,代码有两种格式:
不选择图标:pyinstaller -F -w <文件名>.py
选择图标:pyinstaller -F -i .ico <文件名>.py
当看到Building ExE……successfully 。时候表示已经程序打包完成,在当前目录下的dist文件夹中生成一个名为your_script.exe的可执行文件,其中your_script是我们脚本的文件名 。这个EXE文件就是我们的Python脚本的可执行版本,默认图标是一个Python的蛇图案 。
无论是处理大量数据还是进行复杂数据操作,Pandas和openpyxl的组合将为您提供强大的数据处理能力,让您的Excel文件处理更上一层楼 。当然本次文章我们只讲述了openpyxl使用方法,并教大家如何将我们编写的代码进行打包使用 。后续会分享Pandas更加高效的数据处理的内容,也期待和大家一起进步一切学习 。


推荐阅读