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

太强了!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导入不必要的包,节省打包和执行时间。
  让代码自动工作,省下来的时间,摸摸鱼,打打小游戏不好么

中山七夕次石来韵起个诗意的名字清代汪楫他乡七夕今年好,放眼能穷万里天。白露自零官烛外,银河直下海云边。拂竿不见珊瑚树,登俎真成玳瑁筵。闻道弓衣有人织,兴酣写与布头笺。……丙子岁初出门见有短衣揖让者继起个诗意的名字清代汪缙每从凶岁后,恩泽入人深。俯仰苍生事,饥寒圣主心。截粮留水次,分食到桑林。为国勤休燠,须知玉步临。丙子岁初出门见有短衣揖让者继……感事(一作于濆诗,题云对花)起个诗意的名字唐代武瓘花开蝶满枝,花谢蝶还稀。惟有旧巢燕,主人贫亦归。感事(一作于濆诗,题云对花)武瓘介绍唐池州贵池(今安徽池州人)人。懿宗咸通四……和赵瀫阳太史答黎瑶石内史偕游起个诗意的名字明代何即登古来谩道越王都,西有仙人宅一区。不问何年骑白鹤,空传九节长青蒲。山中到客浑如梦,池上衔杯即泛湖。何幸遥随清赏地,悠悠身世共三壶。……次唐彦猷顾亭林韵起个诗意的名字宋代汪思温云间更深处,独见古人居。想像风猷远,荒寒景物疏。书成千卷帙,往事一邱墟。唯有清名在,流行百岁馀。次唐彦猷顾亭林韵汪思温介绍……柳梢青其三七里滩起个诗意的名字清代董俞莫向江头,问他渔父,谁醉谁醒。一叶轻船,数声横玉,云树冥冥。狂奴故态堪惊。垂钓处、寒鸦乱鸣。花落鸥滩,蘋香蟹簖,潮白山青。柳……百字令赠周冈生日起个诗意的名字清代董俞当年公瑾,早三五文社,誉蜚龙腹。滚滚毫端誇丽藻,不数江潘海陆。探得灵珠,夺来花簟,久侧时贤目。沉冥埋照,一杯常满醽醁。回想玉……挽胡元夫母寿安县太君二首其一起个诗意的名字宋代刘攽应妪金琛社,桓釐邑致膰。母仪真盛德,禄养现兴门。尚想君羹遗,那悲口泽存。苍山松梓暮,吊鹤去翩翻。挽胡元夫母寿安县太君二首其一……题观察卢同年雅雨平山高会图起个诗意的名字清代戴亨欲变繁华俗,将成弦诵区。平山开盛会,都转是名儒。士萃东南秀,诗标主客图。流传千载后,真不愧欧苏。题观察卢同年雅雨平山高会图戴……辽阳黄黎雍式叙徵题千山觅句图起个诗意的名字清代陈宝琛此行未见黄松客,欠上千山揽盛秋。长白一支雄秀最,辽东三老典刑留。万方稔乱群薰穴,七字高吟独倚楼。早晚献诗还扈跸,仙人台上望神州。……暗香绿萼梅起个诗意的名字清代李良年春才几日。早数枝开遍,笑他红白。仙径曾逢,萼绿华来记相识。修竹天寒翠倚,翻认了、暗侵苔色。纵一片、月底难寻,微晕怎消得。脉……茅津渡渡黄河即目起个诗意的名字清代郭鉴庚秋声莽莽马萧萧,汝陕西来极望遥。三晋河山趋浴下,二陵风雨过中条。英雄故里人争说,井邑先民泽未彫。半载程途两万里,凭谁肝胆诉无聊。……
<<<<<<>>>>>>
张常宁绯闻男友官宣恋情!女友颜值不输张常宁,俊男靓女太般配近日,中国男排队长江川公布了自己的恋情,晒出与女友的一组排球主题写真,照片中的两人颜值都很高,尤其是女友非常强劲。张常宁绯闻男友官宣恋情!女友颜值不输张常宁,俊男靓女太般配!……身体干净助长寿,中老年人平时做好这几件事,帮助清理身体导语:现在的生活条件与以前相比较起来,发生了翻天覆地的变化,特别是在平时的饮食上,从以前吃不上饭,变成了现在的食物五花八门。不过由于食物的种类繁多,同时也出现了很多不健康……足光散能洗头吗?足光散能洗脸吗?足光散一般用来治疗脚气泡脚,很多人脑洞大开,想知道这个能不能洗脸,下面5号网的小编为你们介绍足光散能洗头吗?足光散能洗脸吗?足光散能洗头吗足光散不能洗头,足光散治疗脚气的……健胃消食片胃疼能吃吗?健胃消食片跟胃疼不冲突有的人认为胃疼的时候是不能吃健胃消食片的,那么这种说法对不对呢,下面5号网的小编为你们介绍健胃消食片胃疼能吃吗?健胃消食片跟胃疼不冲突。健胃消食片胃疼能吃吗可以吃,不会影……健胃消食片不良反应出现这些反应就别吃了一般的药都是有着一些不良反应的,那么常吃的健胃消食片是否有不良反应呢,下面5号网的小编为你们介绍健胃消食片不良反应,出现这些反应就别吃了。健胃消食片不良反应【不良反应】在……原神十大原魔之最,你都知道吗?原神玩到现在,不知道大家对原魔,也就是游戏中的敌人了解多少呢?本期就一起来看看,原神中的十大原魔之最,这些你都知道吗?1。最有牌面的原魔不愧是风神的眷属,风魔龙特瓦……冬天掉头发厉害怎么办头皮按摩拯救你冬天天冷干燥多数人都有掉发的毛病,这个问题大多数情况下是正常的,掉头发的根本原因还是因为营养缺乏所致,有效减少掉发的方法关键在于防干燥与暖身,以下分享保护秀发的小妙招。冬天掉发……易瑞沙是靶向药物吗?易瑞沙属于靶向药吗?易瑞沙这个药还是比较出名的,治疗肺癌效果很好,大家都很关注这个药是不是靶向药,下面5号网的小编为你们介绍易瑞沙是靶向药物吗?易瑞沙属于靶向药吗?易瑞沙是靶向药物吗易瑞沙是……乌鸡白凤丸过期了还能吃吗?药物过期要丢掉乌鸡白凤丸很多人是长期吃的,有时候买多了吃不完就会过期,下面5号网的小编为你们介绍乌鸡白凤丸过期了还能吃吗?药物过期要丢掉。乌鸡白凤丸过期了还能吃吗任何药物都要在有……你会在乎你的孩子以后优不优秀吗?家长们,说句心里话你能接受自己的孩子普普通通不出众吗?1911学堂好老师在线APP张含婧老师给大家带来一个小测试,看看你是属于哪种家长?测试开始1。你认可一步……香丹清一盒多少粒?香丹清一盒吃多久?香丹清在便秘药这个类别,价格其实是有点小贵的,很多人都不能负担经常吃这个药的费用,下面介绍香丹清一盒多少粒?香丹清一盒吃多久?香丹清一盒多少粒香丹清一盒是15粒,一盒可以……泻药能减肚子吗?肚子大吃泻药管用吗?大肚子是一件很不美观的事情,很多人都想减肚子,下面5号网的小编为你们介绍泻药能减肚子吗?肚子大吃泻药管用吗?泻药能减肚子吗每个人的身体肥胖情况主要和机台有平常的生活习惯饮……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网