10個Python自動化辦公的腳本分享
在日常辦公中,我們常常會被繁瑣、重復的任務占據大量時間。Python 作為一門強大的編程語言,擁有豐富的庫和工具,能夠輕松實現(xiàn)辦公自動化,大大提高工作效率。今天,就來給大家分享 10 個實用的 Python 自動化辦公案例及源碼。
1. 批量處理 Excel 文件
在處理數據時,經常需要對多個 Excel 文件進行相同操作。利用pandas
庫可以輕松實現(xiàn)。
import pandas as pd import os # 文件夾路徑 folder\_path = 'your\_folder\_path' for filename in os.listdir(folder\_path):   if filename.endswith('.xlsx'):   file\_path = os.path.join(folder\_path, filename)   df = pd.read\_excel(file\_path)   \# 這里可以對df進行各種操作,比如新增一列   df\['new\_column'] = df\['原有列'] \* 2   df.to\_excel(file\_path, index=False)
2. 自動發(fā)送郵件
使用smtplib
和email
庫,自動發(fā)送郵件,適用于定期匯報等場景。
import smtplib from email.mime.text import MIMEText from email.header import Header # 發(fā)件人郵箱 sender = "your\_email@example.com" # 收件人郵箱 receivers = \["recipient\_email@example.com"] # 郵件內容 message = MIMEText('郵件內容', 'plain', 'utf-8') message\['From'] = Header("發(fā)件人姓名", 'utf-8') message\['To'] = Header("收件人姓名", 'utf-8') message\['Subject'] = Header("郵件主題", 'utf-8') try:   smtpObj = smtplib.SMTP('smtp.example.com', 587)   smtpObj.starttls()   smtpObj.login(sender, "password")   smtpObj.sendmail(sender, receivers, message.as\_string())   print("郵件發(fā)送成功") except smtplib.SMTPException as e:   print("Error: 無法發(fā)送郵件", e)
3. 批量重命名文件
利用os
庫對指定文件夾下的文件進行批量重命名。
import os folder\_path = 'your\_folder\_path' count = 1 for filename in os.listdir(folder\_path):   if os.path.isfile(os.path.join(folder\_path, filename)):   new\_name = f'new\_name\_{count}{os.path.splitext(filename)\[1]}'   os.rename(os.path.join(folder\_path, filename), os.path.join(folder\_path, new\_name))   count += 1
4. 數據清洗
使用pandas
庫對數據進行清洗,去除重復值、處理缺失值等。
import pandas as pd df = pd.read\_csv('your\_data.csv') # 去除重復行 df = df.drop\_duplicates() # 處理缺失值,這里用0填充 df = df.fillna(0) df.to\_csv('cleaned\_data.csv', index=False)
5. 生成 PPT
借助python-pptx
庫可以根據數據自動生成 PPT。
from pptx import Presentation from pptx.util import Inches prs = Presentation() title\_slide\_layout = prs.slide\_layouts\[0] slide = prs.slides.add\_slide(title\_slide\_layout) title = slide.shapes.title subtitle = slide.placeholders\[1] title.text = "PPT標題" subtitle.text = "PPT副標題" # 后續(xù)可以添加更多內容,如圖片、表格等 prs.save('test.pptx')
6. 自動化測試
使用Selenium
庫進行網頁自動化測試。
from selenium import webdriver driver = webdriver.Chrome() driver.get('https://www.example.com') # 查找元素并操作 element = driver.find\_element\_by\_id('element\_id') element.click() # 關閉瀏覽器 driver.quit()
7. 提取 PDF 文本
利用PyPDF2
庫提取 PDF 文件中的文本。
import PyPDF2 pdf\_file = open('your\_pdf.pdf', 'rb') pdf\_reader = PyPDF2.PdfReader(pdf\_file) text = "" for page\_num in range(len(pdf\_reader.pages)):   page = pdf\_reader.pages\[page\_num]   text += page.extract\_text() print(text) pdf\_file.close()
8. 自動生成報表
結合pandas
和matplotlib
庫,生成數據報表并可視化。
import pandas as pd import matplotlib.pyplot as plt df = pd.read\_csv('data.csv') # 假設統(tǒng)計某列數據 data = df\['column\_name'].value\_counts() data.plot(kind='bar') plt.title('數據統(tǒng)計報表') plt.xlabel('類別') plt.ylabel('數量') plt.savefig('report.png')
9. 自動化文件備份
使用shutil
庫實現(xiàn)文件的自動備份。
import shutil import os source\_folder = 'your\_source\_folder' backup\_folder = 'your\_backup\_folder' if not os.path.exists(backup\_folder):   os.makedirs(backup\_folder) for filename in os.listdir(source\_folder):   file\_path = os.path.join(source\_folder, filename)   if os.path.isfile(file\_path):   shutil.copy2(file\_path, backup\_folder)
10. 任務調度
使用APScheduler
庫實現(xiàn)任務的定時執(zhí)行,比如定時運行數據處理腳本。
from apscheduler.schedulers.blocking import BlockingScheduler import your\_script scheduler = BlockingScheduler() # 每天凌晨1點執(zhí)行任務 scheduler.add\_job(your\_script.run, 'cron', hour=1) scheduler.start()
通過這些 Python 自動化辦公案例,我們可以看到 Python 在提高辦公效率方面的巨大潛力。
到此這篇關于10個Python自動化辦公的腳本分享的文章就介紹到這了,更多相關Python自動化辦公內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
PyQT5之使用QT?Designer創(chuàng)建基本窗口方式
這篇文章主要介紹了PyQT5之使用QT?Designer創(chuàng)建基本窗口方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-02-02