精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

太強(qiáng)了!Python 開(kāi)發(fā)桌面小工具,讓代碼替我們干重復(fù)的工作!

開(kāi)發(fā) 后端
Python 開(kāi)發(fā)的小工具實(shí)際上是將 Python 程序打包成 exe,分享即可用,即便電腦沒(méi)有安裝 Python 環(huán)境,也可以使用,用代碼提高工作效率,盡量少加班。

決定寫這篇文章的初衷是來(lái)源于一位小伙伴的問(wèn)題,關(guān)于"如何根據(jù)數(shù)據(jù)源用 Python 自動(dòng)生成透視表",這個(gè)問(wèn)題背后有個(gè)非常好的解決思路,讓代碼替我們做重復(fù)的工作,從而減輕工作量,減少出錯(cuò)。

Python 開(kāi)發(fā)的小工具實(shí)際上是將 Python 程序打包成 exe,分享即可用,即便電腦沒(méi)有安裝 Python 環(huán)境,也可以使用,用代碼提高工作效率,盡量少加班。

內(nèi)容大綱

  •  明確需求:自動(dòng)生成透視表【這部分可以換成你的重復(fù)性工作】
  •  安裝三方依賴庫(kù):tkinter 和 pyinstaller
  •  代碼實(shí)現(xiàn):包括兩部分 Python 生成透視表和桌面 GUI 聯(lián)動(dòng)設(shè)計(jì)
  •  打包 Python 程序 生成 exe 可執(zhí)行文件
  •  解決 exe 文件可能過(guò)大問(wèn)題:安裝虛擬環(huán)境

1. 需求背景

將工作中重復(fù)性的操作,利用供應(yīng)商名稱,月份,入庫(kù)金額三個(gè)字段來(lái)生成想要的透視表格式。

2. 安裝三方依賴庫(kù)

創(chuàng)建桌面窗口,這里使用 tkinter,它是 Python 自帶的 GUI 庫(kù),安裝后即可使用。

pip install tkinter

使用 pyinsatller 將程序打包成 exe,好處是不需要將代碼部署到服務(wù)器,直接將打包好的 exe 發(fā)給對(duì)方,就能直接使用,對(duì)于這種小而輕的功能非常友好。

pip install pyinstaller

3. 代碼實(shí)現(xiàn)

Excel 文件生成透視表和篩選數(shù)據(jù),文件名:excel_to_pivot.py

import pandas as pd
import numpy as np
class ExcelToPivot(object):
def __init__(self, filename, file_path):
self.file_name = filename
self.file_path = file_path
"""
excel自動(dòng)轉(zhuǎn)透視表功能
返回透視結(jié)果
"""
def excel_Pivot(self):
print(self.file_path)
data = pd.read_excel(self.file_path)
data_pivot_table = pd.pivot_table(data, index=['供應(yīng)商名稱', '月份'], values=["入庫(kù)金額"], aggfunc=np.sum)
return data_pivot_table
"""
按條件篩選,并保存
"""
def select_data(self, name, month):
data_pivot_table = self.excel_Pivot()
data_new = data_pivot_table.query('供應(yīng)商名稱 == ["{}"] & 月份 == {}'.format(name, month))
data_new.to_excel('{}.xlsx'.format(str(self.file_name).split('.')[0]))
return '篩選完成!'
if __name__ == '__main__':
filename = input("請(qǐng)輸入文件名字:")
path = 'C:/Users/cherich/Desktop/' + filename
pross = ExcelToPivot(filename, path)
print(pross.select_data("C", 4))

設(shè)計(jì)桌面窗口功能,文件名:opration.py

from tkinter import Tk, Entry, Button, mainloop
import tkinter.filedialog
import excel_to_pivot
from tkinter import messagebox
from tkinter import ttk
def Upload():
global filename, data_pivot_table
try:
filename = tkinter.filedialog.askopenfilename(title='選擇文件')
pross = excel_to_pivot.ExcelToPivot(str(filename).split('/')[-1], filename)
data_pivot_table = pross.excel_Pivot()
messagebox.showinfo('Info', '轉(zhuǎn)換成功!')
except Exception as e:
print(e)
messagebox.showinfo('Info', '轉(zhuǎn)換失敗!')
def select(name, month):
try:
print('供應(yīng)商名稱 == ["{}"] & 月份 == {}'.format(name, month))
data_new = data_pivot_table.query('供應(yīng)商名稱 == ["{}"] & 月份 == {}'.format(name, month))
data_new.to_excel('{}.xlsx'.format(str(filename).split('.')[0]))
messagebox.showinfo('Info', '篩選完成并生成文件!')
root.destroy()
except Exception as e:
print(e)
messagebox.showinfo('Info', '篩選失敗!')
root = Tk()
root.config(background="#6fb765")
root.title('自動(dòng)轉(zhuǎn)透視表小工具')
root.geometry('500x250')
e1 = Entry(root, width=30)
e1.grid(row=2, column=0)
btn1 = Button(root, text=' 上傳文件 ', command=Upload).grid(row=2, column=10, pady=5)
box1 = ttk.Combobox(root)
# 使用 grid() 來(lái)控制控件的位置
box1.grid(row=5, sticky="NW")
# 設(shè)置下拉菜單中的值
box1['value'] = ('A', 'B', 'C', 'D', '供應(yīng)商')
# 通過(guò) current() 設(shè)置下拉菜單選項(xiàng)的默認(rèn)值
box1.current(4)
box2 = ttk.Combobox(root)
box2.grid(row=5, column=1, sticky="NW")
box2['value'] = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, '月份')
box2.current(12)
# 編寫回調(diào)函數(shù),綁定執(zhí)行事件
def func(event):
global b1, b2
b1 = box1.get()
b2 = box2.get()
# 綁定下拉菜單事件
box1.bind("<<ComboboxSelected>>", func)
box2.bind("<<ComboboxSelected>>", func)
btn2 = Button(root, text=' 篩選數(shù)據(jù) ', command=lambda: select(b1, b2)).grid(row=30, column=10, pady=5)
mainloop()

如果運(yùn)行結(jié)果如上,說(shuō)明代碼沒(méi)有問(wèn)題了,可以進(jìn)行下一步。

4. 打包 Python 程序生成 exe

打開(kāi) DOS 窗口并切換到 兩個(gè) py 文件所在的目錄,注意路徑中不要有中文。

pyinsatller -F -w opration.py

pyinstaller 指令的常見(jiàn)可選參數(shù):

  •  -i 給應(yīng)用程序添加圖標(biāo)
  •  -F 指定打包后只生成一個(gè)exe格式的文件
  •  -D –onedir 創(chuàng)建一個(gè)目錄,包含exe文件,但會(huì)依賴很多文件(默認(rèn)選項(xiàng))
  •  -c –console, –nowindowed 使用控制臺(tái),無(wú)界面(默認(rèn))
  •  -w –windowed, –noconsole 使用窗口,無(wú)控制臺(tái)
  •  -p 添加搜索路徑

在當(dāng)前的目錄下,將會(huì)生成兩個(gè)文件夾:build 和 dist。dist 里面就是所有可執(zhí)行 exe 文件,發(fā)送快捷方式到桌面,點(diǎn)擊 opration.exe 就能運(yùn)行了,可以發(fā)它的快捷方式發(fā)送到桌面,雙擊就可以。

5. 解決 exe 文件可能過(guò)大問(wèn)題

有的伙伴 Python 環(huán)境剛安裝沒(méi)多久,可能不存在這個(gè)文件過(guò)大的問(wèn)題。像我的電腦里安裝了 Python 很多的依賴包和 anaconda 等等,打包出來(lái)的文件居然 660M,打包時(shí)間長(zhǎng),執(zhí)行時(shí)還卡,后來(lái)經(jīng)過(guò)整改縮小到 31M,打包快,秒級(jí)執(zhí)行。解決方案是在 Windows 系統(tǒng)下安裝一個(gè) Python 的虛擬環(huán)境,前提是已經(jīng)在電腦上安裝過(guò) Python 才可以進(jìn)行如下操作。

找到 Python 所在路徑,如果忘記了,可以在電腦左下角搜索【編輯系統(tǒng)環(huán)境變量】——【用戶變量】——【PATH】中找到

配置虛擬環(huán)境

虛擬環(huán)境可以理解為是 Python 解釋器的一個(gè)副本,在這個(gè)環(huán)境你可以安裝私有包,而且不會(huì)影響系統(tǒng)中安裝的全局 Python 解釋器。虛擬環(huán)境非常有用,可以在系統(tǒng)的 Python 解釋器中避免包的混亂和版本的沖突。

重要是不同虛擬環(huán)境可以搭建不同的 Python 版本,創(chuàng)建時(shí)候選擇,我們這里需要一個(gè)相對(duì) "干凈" 的 Python 環(huán)境,沒(méi)有安裝過(guò)多依賴包,避免 exe 打包文件過(guò)大,所以用到虛擬環(huán)境。

安裝虛擬環(huán)境依賴包

pip install virtualenv
pip install virtualenvwrapper-win

創(chuàng)建虛擬環(huán)境命令

mkvirtualenv -p="C:\Users\cherich\AppData\Local\Programs\Python\Python38\python.exe" py38

進(jìn)入虛擬環(huán)境,可以看到只有幾個(gè)默認(rèn)的 Python 庫(kù)

這時(shí)可以測(cè)試一下代碼,是否缺少相關(guān)依賴,比如我這個(gè)缺少 Pandas,openpyxl,依次按照 pip install 包名安裝即可,非常重要的點(diǎn):pyinstaller 必須重新安裝,文件才會(huì)縮小。

上述操作完成后,打包就可以了,最后退出虛擬環(huán)境即可。

退出虛擬環(huán)境

deactivate

責(zé)任編輯:龐桂玉 來(lái)源: Python數(shù)據(jù)之道
相關(guān)推薦

2022-03-16 19:36:16

Python工具代碼

2009-11-19 08:48:10

Windows 7桌面工具

2021-05-10 11:06:31

Python工具代碼

2021-05-20 11:30:17

Python工具代碼

2020-11-26 12:05:44

Python小工具代碼

2009-07-07 08:49:33

微軟Windows 7新功能

2013-03-29 14:46:33

App開(kāi)發(fā)小工具輔助工具

2021-11-05 06:57:50

架構(gòu)工具代碼

2017-02-06 10:10:34

2023-03-06 08:03:10

Python可視化工具

2011-03-10 09:03:35

Python

2018-07-17 15:51:43

編程語(yǔ)言PythonJSON

2025-01-22 14:02:35

2016-09-01 08:36:27

Windows 10離線小工具

2015-03-26 10:34:02

Android開(kāi)發(fā)工具

2012-08-31 09:22:00

微軟Win 7

2024-09-24 17:54:26

Python開(kāi)發(fā)

2023-12-20 07:41:41

2025-09-01 02:00:00

2010-07-01 10:24:30

UML小工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

懂色av蜜臀av粉嫩av喷吹| 亚洲欧美激情一区二区三区| 午夜视频在线观看网站| 久久精品99国产精品| 欧美日韩国产成人在线观看| 国产ts丝袜人妖系列视频| 欧美v亚洲v综合v国产v仙踪林| 亚洲色图20p| 久久精品国产综合精品| 91国内精品久久久| 国产日韩欧美一区| 日本一区免费视频| 91社区国产高清| 国产无码精品在线观看| 三级电影一区| 色婷婷av一区二区| 九色一区二区| 国产精品自拍电影| 成人情趣视频网站| 精品久久一区二区三区| 青青草精品视频在线观看| 午夜小视频在线观看| 久久精品亚洲一区二区三区浴池| 97精品免费视频| 亚洲激情视频小说| 国产suv精品一区| 欧美乱妇15p| 999香蕉视频| av中文在线资源| 成人欧美一区二区三区视频网页| 蜜桃传媒一区二区| 秋霞网一区二区| 激情国产一区| 久久精品国产91精品亚洲| 国产呦小j女精品视频| 91成人午夜| 555www色欧美视频| 少妇一级淫免费放| 日日夜夜天天综合| 亚洲国产一区在线观看| 国产欧美123| 成人在线观看亚洲| 国产精品视频yy9299一区| 国产精品入口福利| 国产嫩bbwbbw高潮| 在线综合亚洲| 97久久精品在线| 国产精品111| 亚洲小说区图片区| 欧美激情网站在线观看| 国产精品国产三级国产传播| 久久日文中文字幕乱码| 最近2019年好看中文字幕视频| 亚洲人成人无码网www国产 | 国产精品国产三级在线观看| 日韩欧美中文字幕在线观看| 日韩中字在线观看| 国产理论在线| 岛国av一区二区三区| 欧美一区二区三区爽大粗免费| a级大胆欧美人体大胆666| 午夜日韩在线观看| 国产91沈先生在线播放| 欧美视频在线观看一区二区三区| 国产一区二区影院| 国产69久久精品成人| 好吊妞视频一区二区三区| 亚洲欧美春色| 国产精品va在线播放| 五月天中文字幕| 久久精品免费看| 91丨九色丨国产在线| 亚洲AV无码乱码国产精品牛牛 | 99蜜桃在线观看免费视频网站| www香蕉视频| 99精品欧美一区| 日本一区二区三区精品视频| 秋霞午夜理伦电影在线观看| 国产不卡视频在线观看| 高清视频一区二区三区| 污污网站在线免费观看| 国产偷国产偷亚洲高清人白洁| 亚洲免费不卡| 久操av在线| 日韩欧美亚洲综合| 我要看一级黄色大片| 激情综合五月| 亚洲精品久久7777777| 亚洲一区二区自偷自拍 | 成人h动漫精品一区二区下载| 97在线精品| 久热99视频在线观看| 午夜理伦三级做爰电影| 久久一本综合| 久久久亚洲网站| 精品人妻一区二区三区潮喷在线 | 高清乱码毛片入口| 久久久亚洲高清| 国产日本欧美在线| 黄色18在线观看| 欧美区一区二区三区| 久久婷婷五月综合色国产香蕉| 99视频免费在线观看| 精品久久久久久亚洲国产300| 手机视频在线观看| 久久中文资源| 久久精品国产视频| 欧美另类一区二区| 国产在线精品不卡| 欧美精品一区在线发布| 在线播放蜜桃麻豆| 欧美性猛交xxxx乱大交退制版 | 久久亚洲精精品中文字幕| 日韩精品免费在线观看| 国产精品suv一区二区88| 亚洲理伦在线| 亚洲精品女av网站| aaa日本高清在线播放免费观看| 亚洲福利视频一区| 99九九精品视频| 欧美理论电影大全| 亚洲精品综合精品自拍| 中文字幕乱码在线| 天天射综合网视频| 国产精品爱久久久久久久| 免费国产精品视频| 一区二区三区日韩| 国产小视频免费| 欧美成人黄色| 国产午夜精品全部视频在线播放| 久草视频在线观| 国产成人精品亚洲777人妖| 亚洲天堂电影网| 国模一区二区| 亚洲免费一在线| 欧美精品一级片| 韩国一区二区三区| 亚洲无玛一区| 另类一区二区| 日韩网站在线观看| 中文字幕+乱码+中文字幕明步 | 久久九九免费| 久久伊人一区二区| 碰碰在线视频| 精品小视频在线| 国产又大又黄视频| xfplay精品久久| 少妇高潮喷水久久久久久久久久| 精品欧美午夜寂寞影院| 性色av一区二区三区| 头脑特工队2在线播放| 精品高清一区二区三区| 一级国产黄色片| 亚洲欧美视频| 日韩精品久久一区| 97精品国产99久久久久久免费| 亚洲欧洲日产国产网站| 国产精品无码粉嫩小泬| 国产亚洲欧美中文| 国产精品久久久毛片| 欧美电影一区| 亚洲伊人一本大道中文字幕| 呦呦在线视频| 精品av综合导航| 久热这里只有精品6| 91视视频在线直接观看在线看网页在线看| 蜜臀av无码一区二区三区| 看全色黄大色大片免费久久久| 97久久精品国产| 国产视频精选在线| 欧美精品1区2区3区| www青青草原| 亚洲欧美久久| 色视频一区二区三区| 欧美xxxx性xxxxx高清| 亚洲福利视频二区| 黄色一级视频免费看| 国产精品麻豆99久久久久久| 一区二区三区国产好的精华液| 尹人成人综合网| 免费看成人片| 台湾天天综合人成在线| 欧美成人免费视频| 日韩欧美一级大片| 日韩一区欧美小说| 天堂www中文在线资源| 日韩精品久久理论片| 国产高潮呻吟久久久| 免费看成人人体视频| 国产精品视频网址| 深夜国产在线播放| 亚洲日韩欧美视频| av老司机久久| 欧美性生活大片免费观看网址| 在线日韩国产网站| 99re热这里只有精品视频| 亚洲 欧美 另类人妖| 亚洲国产导航| 夜夜爽www精品| 日韩高清影视在线观看| 成人午夜两性视频| 88xx成人免费观看视频库| 欧美国产日本在线| av午夜在线| 日韩av中文字幕在线免费观看| 91中文字幕在线视频| 精品人伦一区二区三区蜜桃免费 | 天堂成人在线视频| 欧美日韩mp4| 国产剧情在线视频| 亚洲一区二区欧美| 国产小视频你懂的| 久久久亚洲综合| 亚洲av无码一区东京热久久| 蜜臀久久99精品久久久久宅男| 欧美极品欧美精品欧美| 亚洲一级毛片| 国产日韩视频在线观看| 天堂中文最新版在线中文| 精品久久久久久最新网址| 最近中文字幕免费在线观看| 婷婷成人综合网| 国产精品老熟女一区二区| 欧美国产亚洲另类动漫| 短视频在线观看| 本田岬高潮一区二区三区| 欧美又粗又长又爽做受| 亚洲欧美在线专区| 亚洲图片欧洲图片日韩av| 精品国产一区二区三区四区| 久久精品国产一区二区三区日韩| 伊人久久亚洲| 91观看网站| 岛国在线视频网站| 欧美大片va欧美在线播放| 欧美极品另类| 在线日韩欧美视频| 黄色片在线播放| 亚洲免费av片| 欧美日本韩国一区二区| 日韩福利视频在线观看| 婷婷视频在线观看| 亚洲韩国日本中文字幕| 日本高清视频在线| 亚洲国产精品999| 色呦呦中文字幕| 精品亚洲国产成av人片传媒 | 精品国产无码在线| 亚洲情侣在线| 99热这里只有精品免费| 午夜日本精品| 欧美人成在线观看| 在线观看不卡| 无码人妻丰满熟妇区96| 久久精品官网| 麻豆传传媒久久久爱| 日本伊人色综合网| 性chinese极品按摩| 久久99精品国产麻豆婷婷洗澡| 午夜剧场在线免费观看| 国产一区在线精品| 91成人在线观看喷潮蘑菇| 香蕉成人久久| 成人免费xxxxx在线视频| 欧美福利一区| 日韩精品在线观看av| 一本久道久久综合狠狠爱| 国产偷人视频免费| 欧美日韩综合| 奇米精品一区二区三区| 日韩综合小视频| 天堂av在线8| 国产a久久麻豆| 亚洲av无码成人精品国产| 国产拍揄自揄精品视频麻豆| 精品亚洲乱码一区二区| 亚洲二区在线视频| 波多野结衣家庭主妇| 91精品国产美女浴室洗澡无遮挡| 动漫av一区二区三区| 亚洲视频在线播放| av免费在线免费观看| 欧美一级视频免费在线观看| 福利一区二区| 韩国一区二区三区美女美女秀| 精品视频免费在线观看| 日韩精品福利片午夜免费观看| 国产精品人人爽人人做我的可爱| 孩娇小videos精品| 成人精品国产免费网站| 四虎永久免费在线观看| 一区二区三区免费看视频| 中文字幕激情小说| 日韩一级二级三级精品视频| 美女欧美视频在线观看免费| 久久久国产91| 日韩免费福利视频| 91成人伦理在线电影| 欧洲福利电影| 久久国产精品网| 激情综合色播激情啊| 一二三不卡视频| 亚洲免费高清视频在线| 手机av免费观看| 精品三级在线观看| 欧美激情午夜| 国产成人精品午夜| 久本草在线中文字幕亚洲| 中文字幕剧情在线观看一区| 精品国产一区二区三区久久久蜜臀| 青青视频免费在线| 青草国产精品久久久久久| 中文字幕人妻一区二区三区| 亚洲视频一区二区免费在线观看| 激情视频网站在线观看| 欧美精品一区二区三区一线天视频| 五月天婷婷在线视频| 国产91对白在线播放| 99精品国产一区二区三区2021| 亚洲精品国产精品国自产观看 | 国内精品免费午夜毛片| 四虎国产精品免费久久5151| 日韩亚洲视频| 欧美亚洲一区| 7788色淫网站小说| 亚洲午夜免费电影| 国产白浆在线观看| 久久精品福利视频| 久久三级毛片| 亚洲永久一区二区三区在线| 日韩国产高清影视| 久久av无码精品人妻系列试探| 婷婷综合在线观看| 手机看片国产1024| 国内精品久久久久影院优| 好吊妞视频这里有精品| www.欧美黄色| 国产成人av电影在线| 538精品在线观看| 日韩一区二区麻豆国产| 在线观看的网站你懂的| 亚洲精品免费av| 欧美日韩免费观看一区=区三区| 亚洲综合123| 尤物视频一区二区| 亚洲国产精品久久久久久久| 欧美疯狂做受xxxx高潮| 91精品啪在线观看国产手机| av在线播放天堂| 本田岬高潮一区二区三区| 精品91久久久| 亚洲欧美www| 亚洲电影有码| 一区二区三区在线观看www| 久久99蜜桃精品| 婷婷伊人五月天| 亚洲777理论| 日本黄色不卡视频| 日本久久精品视频| av伊人久久| 国产永久免费网站| 亚洲免费av观看| 欧美一区二区在线观看视频| 2023亚洲男人天堂| 残酷重口调教一区二区| 亚洲欧洲日本精品| 亚洲精品一二三区| 污视频在线免费观看| 国产精品69av| 亚洲91视频| 午夜视频在线观看国产| 欧美日韩亚洲视频一区| 香蕉视频免费在线播放| 99久久99久久| 鲁大师成人一区二区三区| 黄色片网站在线播放| 日韩一级大片在线| 密臀av在线播放| 亚洲精品成人a8198a| 国产成人在线免费观看| 超碰中文字幕在线| 日韩中文字幕在线播放| 综合成人在线| 国产精品亚洲a| 一区二区欧美国产| 日本一区二区三区在线观看视频| 久久av红桃一区二区小说| 超碰cao国产精品一区二区| 亚洲精品中文字幕无码蜜桃| 136国产福利精品导航| 手机av在线免费观看| 成人国产精品一区二区| 99精品久久久| 182在线观看视频| 日韩经典一区二区三区| 国产精品久久久久久av公交车| 国产成人精品视频免费看| ...av二区三区久久精品| 天天综合网在线| 亚洲精品免费av|