游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

太强了!Python开发桌面小工具,让代码替我们干重复的工作

  决定写这篇文章的初衷是来源于一位小伙伴的问题,关于如何根据数据源用Python自动生成透视表,这个问题背后有个非常好的解决思路,让代码替我们做重复的工作,从而减轻工作量,减少出错。
  Python开发的小工具实际上是将Python程序打包成exe,分享即可用,即便电脑没有安装Python环境,也可以使用,用代码提高工作效率,尽量少加班。
  内容大纲明确需求:自动生成透视表【这部分可以换成你的重复性工作】安装三方依赖库:tkinter和pyinstaller代码实现:包括两部分Python生成透视表和桌面GUI联动设计打包Python程序生成exe可执行文件解决exe文件可能过大问题:安装虚拟环境需求背景
  将工作中重复性的操作,利用供应商名称,月份,入库金额三个字段来生成想要的透视表格式。
  安装三方依赖库
  创建桌面窗口,这里使用tkinter,它是Python自带的GUI库,安装后即可使用。pipinstalltkinter
  使用pyinsatller将程序打包成exe,好处是不需要将代码部署到服务器,直接将打包好的exe发给对方,就能直接使用,对于这种小而轻的功能非常友好。pipinstallpyinstaller代码实现
  Excel文件生成透视表和筛选数据,文件名:exceltopivot。pyimportpandasaspdimportnumpyasnpclassExcelToPivot(object):definit(self,filename,filepath):self。filenamefilenameself。filepathfilepathexcel自动转透视表功能返回透视结果defexcelPivot(self):print(self。filepath)datapd。readexcel(self。filepath)datapivottablepd。pivottable(data,index〔供应商名称,月份〕,values〔入库金额〕,aggfuncnp。sum)returndatapivottable按条件筛选,并保存defselectdata(self,name,month):datapivottableself。excelPivot()datanewdatapivottable。query(供应商名称〔{}〕月份{}。format(name,month))datanew。toexcel({}。xlsx。format(str(self。filename)。split(。)〔0〕))return筛选完成!ifnamemain:filenameinput(请输入文件名字:)pathC:UserscherichDesktopfilenameprossExcelToPivot(filename,path)print(pross。selectdata(C,4))
  设计桌面窗口功能,文件名:opration。pyfromtkinterimportTk,Entry,Button,mainloopimporttkinter。filedialogimportexceltopivotfromtkinterimportmessageboxfromtkinterimportttkdefUpload():globalfilename,datapivottabletry:filenametkinter。filedialog。askopenfilename(title选择文件)prossexceltopivot。ExcelToPivot(str(filename)。split()〔1〕,filename)datapivottablepross。excelPivot()messagebox。showinfo(Info,转换成功!)exceptExceptionase:print(e)messagebox。showinfo(Info,转换失败!)defselect(name,month):try:print(供应商名称〔{}〕月份{}。format(name,month))datanewdatapivottable。query(供应商名称〔{}〕月份{}。format(name,month))datanew。toexcel({}。xlsx。format(str(filename)。split(。)〔0〕))messagebox。showinfo(Info,筛选完成并生成文件!)root。destroy()exceptExceptionase:print(e)messagebox。showinfo(Info,筛选失败!)rootTk()root。config(background6fb765)root。title(自动转透视表小工具)root。geometry(500x250)e1Entry(root,width30)e1。grid(row2,column0)btn1Button(root,text上传文件,commandUpload)。grid(row2,column10,pady5)box1ttk。Combobox(root)使用grid()来控制控件的位置box1。grid(row5,stickyNW)设置下拉菜单中的值box1〔value〕(A,B,C,D,供应商)通过current()设置下拉菜单选项的默认值box1。current(4)box2ttk。Combobox(root)box2。grid(row5,column1,stickyNW)box2〔value〕(1,2,3,4,5,6,7,8,9,10,11,12,月份)box2。current(12)编写回调函数,绑定执行事件deffunc(event):globalb1,b2b1box1。get()b2box2。get()绑定下拉菜单事件box1。bind(ComboboxSelected,func)box2。bind(ComboboxSelected,func)btn2Button(root,text筛选数据,commandlambda:select(b1,b2))。grid(row30,column10,pady5)mainloop()
  如果运行结果如上,说明代码没有问题了,可以进行下一步。打包Python程序生成exe
  打开DOS窗口并切换到两个py文件所在的目录,注意路径中不要有中文。pyinsatllerFwopration。py
  pyinstaller指令的常见可选参数:i给应用程序添加图标F指定打包后只生成一个exe格式的文件Donedir创建一个目录,包含exe文件,但会依赖很多文件(默认选项)cconsole,nowindowed使用控制台,无界面(默认)wwindowed,noconsole使用窗口,无控制台p添加搜索路径
  在当前的目录下,将会生成两个文件夹:build和dist。dist里面就是所有可执行exe文件,发送快捷方式到桌面,点击opration。exe就能运行了,可以发它的快捷方式发送到桌面,双击就可以。解决exe文件可能过大问题
  有的伙伴Python环境刚安装没多久,可能不存在这个文件过大的问题。像我的电脑里安装了Python很多的依赖包和anaconda等等,打包出来的文件居然660M,打包时间长,执行时还卡,后来经过整改缩小到31M,打包快,秒级执行。解决方案是在Windows系统下安装一个Python的虚拟环境,前提是已经在电脑上安装过Python才可以进行如下操作。
  找到Python所在路径,如果忘记了,可以在电脑左下角搜索【编辑系统环境变量】【用户变量】【PATH】中找到
  配置虚拟环境
  虚拟环境可以理解为是Python解释器的一个副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局Python解释器。虚拟环境非常有用,可以在系统的Python解释器中避免包的混乱和版本的冲突。
  重要是不同虚拟环境可以搭建不同的Python版本,创建时候选择,我们这里需要一个相对干净的Python环境,没有安装过多依赖包,避免exe打包文件过大,所以用到虚拟环境。安装虚拟环境依赖包pipinstallvirtualenvpipinstallvirtualenvwrapperwin创建虚拟环境命令mkvirtualenvpC:UserscherichAppDataLocalProgramsPythonPython38python。exepy38
  进入虚拟环境,可以看到只有几个默认的Python库
  这时可以测试一下代码,是否缺少相关依赖,比如我这个缺少Pandas,openpyxl,依次按照pipinstall包名安装即可,非常重要的点:pyinstaller必须重新安装,文件才会缩小。
  上述操作完成后,打包就可以了,最后退出虚拟环境即可。
  退出虚拟环境deactivate
  整个自动化思路的实现就完成了,大家可以将整个流程套用到你现有的重复性工作中,在过程中有两个需要注意的点,如下:
  尽量不要用中文路径,要不会报些莫名其妙的错误。
  导包是尽量避免使用import导入不必要的包,节省打包和执行时间。
  让代码自动工作,省下来的时间,摸摸鱼,打打小游戏不好么

牙黄怎么变白简单方法牙黄是什么原因导致的通常我们大家很多人都会有牙黄的烦恼,所以很多人会针对牙黄去想一些方法来让牙齿变白,那么我们在这里便要了解一下牙黄怎么变白简单方法?牙黄是什么原因导致的?牙黄怎么变白简单方法……儿童牙膏和成人牙膏有什么区别呢牙膏到底要不要含氟呢不知道给位宝妈们是否重视孩子们的牙齿呢,你们平时使用的是什么牙膏在给孩子刷牙呢,今天小编就和大家讲一下儿童专用牙膏吧,究竟儿童牙膏和成人牙膏有什么区别呢。儿童牙膏和成人牙膏有什……AMD最大芯片发布13个小芯片,1460亿个晶体管,AI性能1月6日消息,AMD在CES2023展会上推出了下一代面向数据中心的APU产品InstinctMI300,其采用chiplet设计,拥有13个小芯片,晶体管数量高达1460亿个……红酒杯怎么选选多大如何挑选一个好的红酒杯红酒不仅可以使心情变得愉悦,还能美容养颜、促进睡眠,很多女性朋友都会在睡前喝一杯红酒。那么,我们买了红酒在家喝,应该怎么挑选红酒杯呢。红酒杯怎么选1红酒杯要透亮、光滑,杯……詹姆斯韦伯空间望远镜主镜镜片对准成功韦伯空间天文台正在继续进行主镜的对焦工作。该团队已成功完成了主镜对焦的七个阶段中的第二个和第三个阶段。随着这些阶段(称为阶段对齐和图像重叠)的完成,该团队现在将开始对韦伯18个……每次刷牙都出血是什么原因每次刷牙都出血怎么治刷牙出血是很常见的一种症状,很多人刷牙的时候都出现过出血的现象,刷牙出血的原因有很多,如果长期刷牙出血就要注意了,可能是患上疾病了。每次刷牙都出血是什么原因1、刷牙方式不……没有开瓶器怎么开红酒红酒瓶塞断了一半怎么取出来红酒美容养颜又可以帮助随眠,很多人都会在家里存放几瓶红酒。当我们准备喝红酒,却没有红酒开瓶器时可以用什么方法打开呢。没有开瓶器怎么开红酒1、用一厚书,最好用是厚电话本。书……田亮女儿森碟,正式开启职业网球选手之路,她会成为李娜吗?前几年一到综艺节目,爸爸去哪儿让大家认识了各路星二代。森碟就是田亮的女儿,曾经她也参加过这档节目,身体11岁的时候就已经1米6多了,让她的气质和同龄人全然不符,田亮就是一个女儿……喝香槟用什么杯子香槟打开后能存放多久香槟是一种著名的白葡萄酒,开香槟意味着发生了好事需要庆祝。关于香槟的基本知识你了解多少呢,今天为大家科普一下香槟。喝香槟用什么杯子笛型杯笛型杯杯脚较长,饮用者可以手握杯脚……广州制造业立市,万亿广汽一马当先第二十届广州国际车展上,广汽集团正式发布2030万亿广汽1578发展纲要,规划2030年实现产销超475万辆、营收1万亿元、利税1千亿元的目标。制造业是一国的经济命脉,2022……贴三伏贴放屁是怎么回事白天贴了三伏贴晚上可以洗澡吗三伏贴是一种中药做成的膏状药物,中医经常使用三伏贴敷在特定穴位,达到预防疾病的目的贴三伏贴有很多注意事项,你都了解吗。贴三伏贴放屁是怎么回事是正常的反应。三伏贴上含……饭后抽烟好吗饭后站立有助于减肥吗很多男性朋友喜欢在饭后抽烟,他们觉得这样抽烟会很爽,那么饭后抽烟好吗,饭后站立有助于减肥吗,下面就一起来了解了解吧。饭后抽烟好吗很多抽烟的人,会习惯性的在饭后点上一支烟,……
用了2年的iPhone11终于退休,换成小米12后,分享真实文球子审核子扬校对知秋赶在2021年结束之前,小米正式发布了第三代数字旗舰小米12系列,在发布会上,雷军表示,小米12系列将全面对标iPhone。对于小米12,笔者……炉石传说设计师重复的错误,退火车王来重拳,削血色绽放出窃贼炉石传说自从加基森模型膨胀之后,新卡越出越失衡,补丁也越来越频繁。其中有不少挨刀卡牌的功能差不多。设计师出了这么多卡,削了这么多牌,怎么就不吸取教训呢?被一个石头绊倒两次。设计……逃离塔科夫更新失败官网进不去的解决办法以硬核玩法内容著称的逃离塔科夫在12月12日完成了新一轮的删档更新,这次更新自然也加入了不少有趣的新内容,很多玩家都已经按捺不住准备更新游戏了,但是却发现在更新版本的过程中老是……云游戏你了解多少?云游戏让时间地点设备都不是问题据伽马数据,2021年中国游戏市场实际销售收入预计将超2900亿元。近年来游戏产业向精品化升级的成果逐步显现,在玩法创新、内容表现、技术水平等领域中国游戏产品提升明显,产品流水……微软有点坑!国行XSX补货居然搞抽奖130台7月19日消息,微软官方发布了XboxSeriesX的补货通知。据悉,官网将于7月25日补货,限量130台抽签购买,感兴趣的朋友可以前往微信小程序的XSX产品页面参与抽奖。……朗基产业研学旅行营地入选2022年度省级研学旅行实践营地创建8月9日,四川省文化和旅游厅官网发布的《四川省文化和旅游厅四川省教育厅关于公布2022年度省级研学旅行实践基地(营地)创建单位名单的通知》显示,包括袁隆平杂交水稻科技馆等75个……入秋后建议少给孩子吃排骨和番茄,多吃5种营养王者,真赞老话常说冬补三九,夏养三伏,如今正是三伏天的末伏,夏养不能忘。另外我们已经进入立秋了,尽管气温很高,但是空气比较干燥,需要补充夏季消耗的同时还要多吃一些生津滋润的食材。尤其是孩……恭喜!乔丹不用再受NBA轻视了,9换1得到米切尔,足以改变现据《HornetsCulture》报道,黄蜂成为当今NBA唯一从未参加过圣诞大战的球队。此前,还有一支球队与他相似,那就是灰熊队,但灰熊队这两个赛季表现强硬,在202122赛季……萌新推荐选购电子产品,这一篇就够了!又一年开学季来临所谓兵马未动粮草先行丰富的大学生活开启前准备好所需的电子产品当然必不可少面对市面上琳琅满目的电子产品你是不是有些不知所措呢?学联为萌新们准备了一期电子产品……值了!22岁中超新外援首秀出场仅105秒造进球未来可归化中超联赛今晚迎来了关键的一场较量,志在保级的沧州雄狮迎战近来状态火热的浙江队。值得关注的是,这场比赛也是沧州雄狮新外援奥乌苏首次进入大名单,更加让人惊喜的是,这位22岁的中超新……糖尿病患者能吃水果吗?医生这5种水果可常吃,但要注意这4点随着生活水平的提高,各种美食层出不穷,很多人经不住诱惑就会胡吃海喝,一不小心就导致体重超标,进而诱发糖尿病。很多人一旦患上糖尿病,以前胡吃海喝的状态就戛然而止,变得小心翼……米物ARTZ830键盘评测红白机的造型太好看了一台电脑最重要的输入设备就是键盘了,它极大地影响了一台电脑的使用体验,尤其是当电脑作为生产力工具,日常办公,游戏时,银盘的好坏直接影响到了效率,那今天我就测评下米物ART系列Z……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网