強すぎる! Python はデスクトップ ガジェットを開発し、コードに繰り返しの作業を行わせます。
この記事を書こうと思ったきっかけは、「Python を使ってデータ ソースに基づいてピボット テーブルを自動生成する方法」についての友人からの質問でした。この質問の背後にある非常に良いアイデアです。解決策のアイデアは、コードに繰り返しの作業を行わせることで、作業負荷を軽減し、エラーを減らすことです。
Python で開発されたガジェットは、実際に Python プログラムを exe にパッケージ化しており、共有して使用することができます。コンピューターに Python 環境がインストールされていない場合でも使用できます。コードを使用して改善します。作業効率を高め、残業を最小限に抑えます。
コンテンツの概要
- 明確な要件: ピボット テーブルを自動的に生成 [この部分は繰り返しの作業で置き換えることができます】
- サードパーティの依存ライブラリをインストールします: tkinter と pyinstaller
# コード実装: ピボット テーブルとデスクトップ GUI リンケージ設計を生成するための Python の 2 つの部分が含まれます
# は機能します 反復的な操作の場合は、サプライヤー名、月、倉庫数量の 3 つのフィールドを使用して、目的のピボット テーブル形式を生成します。
2. サードパーティの依存ライブラリをインストールする
デスクトップ ウィンドウを作成します。ここでは GUI ライブラリである tkinter を使用します。 Python に付属しており、インストール後すぐに使用できます。
pip install tkinter
pyinsatller を使用してプログラムを exe にパッケージ化します。利点は、コードをサーバーにデプロイする必要がないことです。パッケージ化された exe を相手に直接送信でき、小さくて軽いのにとても機能的です。
pip install pyinstaller
3. コードの実装
ピボット テーブルとフィルター データを生成する Excel ファイル、ファイル名: 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自动转透视表功能 返回透视结果 """ def excel_Pivot(self): print(self.file_path) data = pd.read_excel(self.file_path) data_pivot_table = pd.pivot_table(data, index=['供应商名称', '月份'], values=["入库金额"], 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('供应商名称 == ["{}"] & 月份 == {}'.format(name, month)) data_new.to_excel('{}.xlsx'.format(str(self.file_name).split('.')[0])) return '筛选完成!' if __name__ == '__main__': filename = input("请输入文件名字:") path = 'C:/Users/cherich/Desktop/' + filename pross = ExcelToPivot(filename, path) print(pross.select_data("C", 4))
デザインデスクトップウィンドウ関数、ファイル名:operation.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', '转换成功!') except Exception as e: print(e) messagebox.showinfo('Info', '转换失败!') def select(name, month): try: print('供应商名称 == ["{}"] & 月份 == {}'.format(name, month)) data_new = data_pivot_table.query('供应商名称 == ["{}"] & 月份 == {}'.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('自动转透视表小工具') 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() 来控制控件的位置 box1.grid(row=5, sticky="NW") # 设置下拉菜单中的值 box1['value'] = ('A', 'B', 'C', 'D', '供应商') # 通过 current() 设置下拉菜单选项的默认值 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) # 编写回调函数,绑定执行事件 def func(event): global b1, b2 b1 = box1.get() b2 = box2.get() # 绑定下拉菜单事件 box1.bind("<<ComboboxSelected>>", func) box2.bind("<<ComboboxSelected>>", func) btn2 = Button(root, text=' 筛选数据 ', command=lambda: select(b1, b2)).grid(row=30, column=10, pady=5) mainloop()
実行結果が上記のようであれば、コードに問題がないことを意味します。次のステップに進むことができます。
4. Python プログラムをパッケージ化して exe を生成します
DOS ウィンドウを開き、2 つの py ファイルが配置されているディレクトリに切り替えます。パス。
pyinsatller -F -w opration.py
pyinstaller コマンドの共通オプション パラメーター:
- -F は、パッケージ化後に exe 形式のファイルが 1 つだけ生成されることを指定します。
-D –onedir は、exe ファイルを含むディレクトリを作成しますが、多くのファイルに依存します (デフォルト オプション)-
-c –console, –nowindowed コンソールを使用、インターフェースなし (デフォルト)
-w –windowed、-noconsole ウィンドウを使用、コンソールなし- # -p 検索パスの追加
現在のディレクトリに、build と 2 つのフォルダーが生成されます。距離。 Dist にはすべての実行可能な exe ファイルが含まれています。ショートカットをデスクトップに送信し、opration.exe をクリックして実行します。そのショートカットをデスクトップに送信してダブルクリックできます。
一部のパートナーは最近 Python 環境をインストールしたばかりなので、ファイルが大きすぎるという問題が発生する可能性があります。存在しない。たとえば、私のコンピューターには Python の依存関係パッケージと anaconda が多数インストールされています。パッケージ化されたファイルは実際には 660M です。パッケージ化に時間がかかり、実行中にスタックします。その後、修正後、31M に減少しました。パッケージ高速で数秒で実行できます。解決策は、Windows システムに Python 仮想環境をインストールすることです。次の操作は、Python がコンピュータにインストールされている場合にのみ実行できます。
找到 Python 所在路径,如果忘记了,可以在电脑左下角搜索【编辑系统环境变量】——【用户变量】——【PATH】中找到
配置虚拟环境
虚拟环境可以理解为是 Python 解释器的一个副本,在这个环境你可以安装私有包,而且不会影响系统中安装的全局 Python 解释器。虚拟环境非常有用,可以在系统的 Python 解释器中避免包的混乱和版本的冲突。
重要是不同虚拟环境可以搭建不同的 Python 版本,创建时候选择,我们这里需要一个相对 "干净" 的 Python 环境,没有安装过多依赖包,避免 exe 打包文件过大,所以用到虚拟环境。
安装虚拟环境依赖包
pip install virtualenv pip install virtualenvwrapper-win
创建虚拟环境命令
mkvirtualenv -p="C:UserscherichAppDataLocalProgramsPythonPython38python.exe" py38
进入虚拟环境,可以看到只有几个默认的 Python 库
这时可以测试一下代码,是否缺少相关依赖,比如我这个缺少 Pandas,openpyxl,依次按照 pip install 包名安装即可,非常重要的点:pyinstaller 必须重新安装,文件才会缩小。
上述操作完成后,打包就可以了,最后退出虚拟环境即可。
退出虚拟环境
deactivate
以上が強すぎる! Python はデスクトップ ガジェットを開発し、コードに繰り返しの作業を行わせます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









Redis Persistenceは余分なメモリを取り、RDBはスナップショットを生成するときに一時的にメモリの使用量を増加させ、AOFはログを追加するときにメモリを取り上げ続けます。影響要因には、データのボリューム、永続性ポリシー、Redis構成が含まれます。影響を緩和するために、RDBスナップショットポリシーを合理的に構成し、AOF構成を最適化し、ハードウェアをアップグレードし、メモリの使用量を監視できます。さらに、パフォーマンスとデータセキュリティのバランスを見つけることが重要です。

2時間以内にPythonの基本的なプログラミングの概念とスキルを学ぶことができます。 1.変数とデータ型、2。マスターコントロールフロー(条件付きステートメントとループ)、3。機能の定義と使用を理解する4。

Redisメモリサイズの設定は、次の要因を考慮する必要があります。データ量と成長傾向:保存されたデータのサイズと成長率を推定します。データ型:異なるタイプ(リスト、ハッシュなど)は異なるメモリを占めます。キャッシュポリシー:完全なキャッシュ、部分キャッシュ、フェージングポリシーは、メモリの使用に影響します。ビジネスピーク:トラフィックピークに対処するのに十分なメモリを残します。

PHPMyAdminセキュリティ防衛戦略の鍵は次のとおりです。1。PHPMyAdminの最新バージョンを使用し、PHPとMySQLを定期的に更新します。 2.アクセス権を厳密に制御し、.htaccessまたはWebサーバーアクセス制御を使用します。 3.強力なパスワードと2要素認証を有効にします。 4.データベースを定期的にバックアップします。 5.機密情報が公開されないように、構成ファイルを慎重に確認します。 6。Webアプリケーションファイアウォール(WAF)を使用します。 7.セキュリティ監査を実行します。 これらの測定は、不適切な構成、古いバージョン、または環境セキュリティのリスクにより、PHPMyAdminによって引き起こされるセキュリティリスクを効果的に削減し、データベースのセキュリティを確保することができます。

Redisメモリの急上昇には、データ量が大きすぎる、データ構造の選択、構成の問題(Maxmemory設定が小さすぎるなど)、およびメモリリークが含まれます。ソリューションには、期限切れのデータの削除、圧縮技術の使用、適切な構造の選択、構成パラメーターの調整、コードのメモリリークのチェック、およびメモリ使用量の定期的な監視が含まれます。

Redisでキー値を表示する方法:Redisコマンドラインツールを使用します:redisデスクトップマネージャーを使用する&lt; key&gt; "keys"タブでキーを見つけ、「value」列を表示し、pythonクライアントを使用します:r.get( 'key')を使用します。

Redisサーバーを起動する手順には、以下が含まれます。オペレーティングシステムに従ってRedisをインストールします。 Redis-Server(Linux/Macos)またはRedis-Server.exe(Windows)を介してRedisサービスを開始します。 Redis-Cli ping(Linux/macos)またはRedis-Cli.exePing(Windows)コマンドを使用して、サービスステータスを確認します。 Redis-Cli、Python、node.jsなどのRedisクライアントを使用して、サーバーにアクセスします。

Oracleデータベースを作成するのは簡単ではありません。根本的なメカニズムを理解する必要があります。 1.データベースとOracle DBMSの概念を理解する必要があります。 2。SID、CDB(コンテナデータベース)、PDB(プラグ可能なデータベース)などのコアコンセプトをマスターします。 3。SQL*Plusを使用してCDBを作成し、PDBを作成するには、サイズ、データファイルの数、パスなどのパラメーターを指定する必要があります。 4.高度なアプリケーションは、文字セット、メモリ、その他のパラメーターを調整し、パフォーマンスチューニングを実行する必要があります。 5.ディスクスペース、アクセス許可、パラメーター設定に注意し、データベースのパフォーマンスを継続的に監視および最適化します。 それを巧みに習得することによってのみ、継続的な練習が必要であることは、Oracleデータベースの作成と管理を本当に理解できます。
