너무 강해! Python은 데스크탑 가젯을 개발하고 코드가 우리를 위해 반복적인 작업을 수행하도록 해줍니다!
이 글을 쓰기로 결정한 원래 의도는 "Python을 사용하여 데이터 소스를 기반으로 피벗 테이블을 자동으로 생성하는 방법"에 대한 친구의 질문에서 나왔습니다. 이 문제 뒤에는 아주 좋은 해결책 아이디어가 있습니다. , 코드가 대신 수행하도록 하세요. 반복적인 작업을 수행하여 작업량을 줄이고 오류를 줄입니다.
Python에서 개발한 가젯은 실제로 Python 프로그램을 exe로 패키징하여 공유 후 사용할 수 있습니다. 컴퓨터에 Python 환경이 설치되어 있지 않아도 작업 효율성을 높이고 초과 근무를 최소화하는 데 사용할 수 있습니다.
콘텐츠 개요
- 명확한 요구 사항: 자동으로 피벗 테이블 생성 [이 부분은 반복 작업으로 대체 가능]
- 타사 종속 라이브러리 설치: tkinter 및 pyinstaller
- 코드 구현: 포함 두 부분으로 Python이 피벗 테이블과 데스크톱 GUI 연결 디자인을 생성합니다
- Python 프로그램을 패키지하여 exe 실행 파일을 생성합니다
- exe 파일이 너무 클 수 있는 문제 해결: 가상 환경 설치
1 요구 사항 배경
작업을 반복적으로 수행하고 공급업체 이름, 월, 입고 금액의 세 가지 필드를 사용하여 원하는 피벗 테이블 형식을 생성합니다.
2. 타사 종속 라이브러리 설치
데스크톱 창을 만듭니다. 여기서는 Python의 자체 GUI 라이브러리이며 설치 후 사용할 수 있습니다.
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 창을 열고 두 개의 py 파일이 있는 디렉터리로 전환합니다. 경로에 중국어 문자가 포함되지 않도록 주의하세요.
pyinsatller -F -w opration.py
pyinstaller 명령의 일반적인 선택적 매개변수:
- -i 응용 프로그램에 아이콘을 추가합니다.
- -F 패키징 후 exe 형식 파일만 생성되도록 지정합니다.
- -D –onedir exe 파일을 포함하는 디렉토리를 생성하지만 많은 파일에 따라 달라집니다(기본 옵션)
- -c –console, –nowindowed 콘솔 사용, 인터페이스 없음(기본값)
- -w –windowed, –noconsole 창 사용, no console
- -p 검색 경로 추가
현재 디렉터리에 build 및 dist라는 두 개의 폴더가 생성됩니다. Dist에는 모든 실행 가능한 exe 파일이 포함되어 있습니다. 바로가기를 바탕화면으로 보내고 opration.exe를 클릭하여 실행하세요.
5.exe 파일이 너무 클 수 있는 문제 해결
일부 파트너는 Python 환경을 설치한 지 얼마 되지 않았는데, 파일이 너무 크다는 문제는 존재하지 않을 수도 있습니다. 예를 들어, 내 컴퓨터에 Python 종속성 패키지와 아나콘다가 많이 설치되어 있는데, 실제로 패키지 파일이 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Redis Persistence는 추가 메모리를 차지하고 RDB는 스냅 샷을 생성 할 때 메모리 사용량을 일시적으로 증가시키고 AOF는 로그를 추가 할 때 계속 메모리를 차지합니다. 영향 요인에는 데이터 볼륨, 지속성 정책 및 Redis 구성이 포함됩니다. 영향을 완화하려면 RDB 스냅 샷 정책을 합리적으로 구성하고 구성 최적화, 하드웨어 업그레이드 및 메모리 사용을 모니터링 할 수 있습니다. 또한 성능과 데이터 보안 사이의 균형을 찾는 것이 중요합니다.

2 시간 이내에 Python의 기본 프로그래밍 개념과 기술을 배울 수 있습니다. 1. 변수 및 데이터 유형을 배우기, 2. 마스터 제어 흐름 (조건부 명세서 및 루프), 3. 기능의 정의 및 사용을 이해하십시오. 4. 간단한 예제 및 코드 스 니펫을 통해 Python 프로그래밍을 신속하게 시작하십시오.

Redis 메모리 크기 설정은 다음 요소를 고려해야합니다. 데이터 볼륨 및 성장 추세 : 저장된 데이터의 크기 및 성장 속도를 추정하십시오. 데이터 유형 : 다른 유형 (예 : 목록, 해시)은 다른 메모리를 차지합니다. 캐싱 정책 : 전체 캐시, 부분 캐시 및 단계 정책은 메모리 사용에 영향을 미칩니다. 비즈니스 피크 : 트래픽 피크를 처리하기에 충분한 메모리를 남겨 두십시오.

Phpmyadmin 보안 방어 전략의 핵심은 다음과 같습니다. 1. Phpmyadmin의 최신 버전을 사용하고 정기적으로 PHP 및 MySQL을 업데이트합니다. 2. 액세스 권한을 엄격하게 제어하고, .htaccess 또는 웹 서버 액세스 제어 사용; 3. 강력한 비밀번호와 2 단계 인증을 활성화합니다. 4. 데이터베이스를 정기적으로 백업하십시오. 5. 민감한 정보를 노출하지 않도록 구성 파일을주의 깊게 확인하십시오. 6. WAF (Web Application Firewall) 사용; 7. 보안 감사를 수행하십시오. 이러한 조치는 부적절한 구성, 이전 버전 또는 환경 보안 위험으로 인해 PhpmyAdmin으로 인한 보안 위험을 효과적으로 줄이고 데이터베이스의 보안을 보장 할 수 있습니다.

Redis 메모리 급등에는 너무 큰 데이터 볼륨, 부적절한 데이터 구조 선택, 구성 문제 (예 : MaxMemory 설정이 너무 작은) 및 메모리 누출이 포함됩니다. 솔루션에는 만료 된 데이터 삭제, 압축 기술 사용, 적절한 구조 선택, 구성 매개 변수 조정, 코드의 메모리 누출 확인 및 메모리 사용을 정기적으로 모니터링합니다.

Redis에서 키 값을 보는 방법 : Redis 명령 줄 도구 사용 : get & lt; key & gt; redis 데스크탑 관리자 사용 : "키"탭에서 키를 찾아서 "값"열을보기 Python Client : R.Get ( 'key') Node.js Client : Client.get ( 'key', err, value) = & gt;

Redis 서버를 시작하는 단계에는 다음이 포함됩니다. 운영 체제에 따라 Redis 설치. Redis-Server (Linux/MacOS) 또는 Redis-Server.exe (Windows)를 통해 Redis 서비스를 시작하십시오. Redis-Cli Ping (Linux/MacOS) 또는 Redis-Cli.exe Ping (Windows) 명령을 사용하여 서비스 상태를 확인하십시오. Redis-Cli, Python 또는 Node.js와 같은 Redis 클라이언트를 사용하여 서버에 액세스하십시오.

Oracle 데이터베이스를 만드는 것은 쉽지 않으므로 기본 메커니즘을 이해해야합니다. 1. 데이터베이스 및 Oracle DBMS의 개념을 이해해야합니다. 2. SID, CDB (컨테이너 데이터베이스), PDB (Pluggable Database)와 같은 핵심 개념을 마스터합니다. 3. SQL*Plus를 사용하여 CDB를 생성 한 다음 PDB를 만들려면 크기, 데이터 파일 수 및 경로와 같은 매개 변수를 지정해야합니다. 4. 고급 응용 프로그램은 문자 세트, 메모리 및 기타 매개 변수를 조정하고 성능 튜닝을 수행해야합니다. 5. 디스크 공간, 권한 및 매개 변수 설정에주의를 기울이고 데이터베이스 성능을 지속적으로 모니터링하고 최적화하십시오. 그것을 능숙하게 마스터 함으로써만 지속적인 연습이 필요합니다. Oracle 데이터베이스의 생성 및 관리를 진정으로 이해할 수 있습니다.
