当前位置: 首页 > 后端技术 > Python

基于Python的Excel处理工具

时间:2023-03-26 10:55:51 Python

1项目描述为了减轻姐姐工作中处理Excel的痛苦,自己用python写了几个处理xlsx的代码,完成了一些独立的任务,比如判断未来,迟到,早点下单,实现两个复杂的xlsx文件的单元格比较等等。不过妹子毕竟是文科生,直接提供py代码要求在命令行调用是极其不友好的。所以这次希望对它进行改进,主要实现三个目标:功能集成,提供GUI,打包成exe。仍然使用python,经过一番研究决定使用pyqt开发GUI。2安装我的笔记本是mac,一直觉得mac(或者linux)比windows更适合开发,所以这次代码工作还是在macos上进行。要想使用pyqt,mac上需要具备这些条件:Xcode:如果系统没有自带,那就安装一个,macosexclusiveIDLE;Qt:UI开发工具;SIP:连接C++和python;PyQt:连接python与qt连接。2.1Xcode不用多说了,用过Xcode开发的应该都听说过,没有的话装一个就好了。2.2Qt可以从Qt官网下载安装。如果不知道用哪个,可以考虑我的选择。2.3SIP下载SIP,这是我的选择。下载完成后,解压并在命令行进入该目录,执行以下代码。cdsip-4.16.8/pythonconfigure.pymakesudomakeinstall2.4PyQt4当然pyqt最新版本应该是5:00左右,不过我的需求pyqt4应该可以满足。下载pyqt4,这是我的选择。下载完成后解压,在命令行进入该目录执行代码。cdPyQt-mac-gpl-4.11.4/pythonconfigure.pymakesudomakeinstall2.5完成以上四步后,就可以在macos中使用pyqt4了(当然还得安装python),输入python试试导入试试PyQt4,如果能成功导入,说明一切顺利。3开发我的项目托管在Github上。示例文件夹包含一些pyqt4教程示例。my_dear.py是最终的程序代码,它集成了考勤文件处理和Excel表格对比两个功能。界面大概是这样的(请不要吐槽界面,毕竟不是产品,不要在意设计,实现功能就好!),左边列表中的两项分别对应不同的标签页。pyqt4的教程例子主要出自这里。4打包如果只是python代码,其他人的电脑上要运行需要配置同样的环境,所以最好打包成一个产品,别人只需要一个文件就可以运行。我使用PyInstaller进行项目打包,在macos上使用pip安装PyInstaller。sudopipinstallpyinstaller然后打包成app格式,可以直接在macos上运行。第一行命令生成打包中间文件My_dear.spec,第二行代码处理该文件并完成打包。pyinstaller--windowed--onefile--clean--noconfirmMy_dear.pypyinstaller--clean--noconfirm--windowed--onefileMy_dear.spec当然也可以打包成pkg或者dmg格式,参考这里。但是这不是我想要的效果,因为这最终是给姐姐的,而姐姐工作场所用的桌面装的是windows,所以这个时候就出现了平台差异的问题,一开始我开发就出错了平台,因为在macos上开发的程序是不可能打包成exe的==。5出乎意料的简单Windows,于是又搬到实验室的windows桌面上重新开发,却发现windows的开发过程比macos简单多了。windows上,有了python,想用pyqt4,装个软件就够了,里面应有尽有!下载地址在这里,直接根据你的python版本和位数选择exe即可。安装过程中会默认选择系统python安装路径,安装完成后即可运行My_dear.py文件。至于windows下的打包,也可以用PyInstaller。与macos不同的是,macos中的PyInstaller是python的一个包,可以通过pip下载,而windows中则需要手动下载源码。下载链接在这里,下载完成后解压即可。在cmd中进入该目录,使用如下命令即可完成打包(为了方便也可以将My_dear.py复制到该目录下)。pythonpyinstaller.py[opts]My_dear.py其中opts为可选参数,主要包括:-F、-onefile:打包到一个exe文件夹中;-D,-onedir:创建包含exe文件夹的目录,但会依赖很多文件(默认);-c,-console,-nowindowed:使用控制台,无界面(默认);-w,-windowed,-noconsole:使用窗口,没有控制台。所以对于我的GUI,参数的选择是-Fw。6小结在本次开发过程中,出于个人习惯选择了macos作为开发平台,后来由于需要导出exe,又在windows上进行了尝试。总的来说,接触和熟悉了pyqt4在macos和windows上的部署和开发,以及用PyInstaller打包py程序的方法,收获颇丰。