Python作為一門強(qiáng)大的編程語言,不僅適用于軟件開發(fā),,還能極大地提高日常辦公效率,。下面,,我們將介紹15個(gè)實(shí)用的Python腳本,,幫助你實(shí)現(xiàn)辦公自動化,。
1. 自動發(fā)送郵件 發(fā)送郵件是日常工作中常見的任務(wù),,Python的 smtplib
庫可以輕松實(shí)現(xiàn)這一功能,。
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart def send_email (subject, body, to_email) : msg = MIMEMultipart() msg[ 'From' ] = 'your_email@' msg[ 'To' ] = to_email msg[ 'Subject' ] = subject msg.attach(MIMEText(body, 'plain' )) server = smtplib.SMTP( 'smtp.' , 587 ) server.starttls() server.login( 'your_email@' , 'your_password' ) text = msg.as_string() server.sendmail( 'your_email@' , to_email, text) server.quit() send_email( 'Hello!' , 'This is a test email.' , 'recipient@' )
2. Excel文件操作 使用 openpyxl
庫可以方便地讀寫Excel文件,。
from openpyxl import Workbook wb = Workbook() ws = wb.active ws[ 'A1' ] = 'Hello' ws[ 'B1' ] = 'World!' wb.save( 'example.xlsx' )
3. PDF文件合并 PyPDF2
庫可以合并多個(gè)PDF文件。
from PyPDF2 import PdfMerger merger = PdfMerger() merger.append( 'file1.pdf' ) merger.append( 'file2.pdf' ) merger.write( 'merged.pdf' ) merger.close()
4. 自動化文件備份 使用 shutil
庫可以復(fù)制文件到備份目錄,。
import shutil import os source_folder = 'source_folder' backup_folder = 'backup_folder' if not os.path.exists(backup_folder): os.makedirs(backup_folder) for file in os.listdir(source_folder): shutil.copy(os.path.join(source_folder, file), backup_folder)
5. 批量重命名文件 使用 os
庫可以批量重命名文件,。
import os folder = 'folder_path' for i, file in enumerate(os.listdir(folder)): os.rename(os.path.join(folder, file), os.path.join(folder, f'file_ {i 1 } .txt' ))
6. 自動提取網(wǎng)頁數(shù)據(jù) 使用 requests
和 BeautifulSoup
庫可以提取網(wǎng)頁數(shù)據(jù)。
import requests from bs4 import BeautifulSoup url = 'https://' response = requests.get(url) soup = BeautifulSoup(response.content, 'html.parser' ) title = soup.find( 'title' ).text print(title)
7. 自動化數(shù)據(jù)清洗 使用 pandas
庫可以方便地清洗數(shù)據(jù),。
import pandas as pd df = pd.read_csv( 'data.csv' ) df.dropna(inplace= True ) # 刪除缺失值 df.duplicated().sum() # 查看重復(fù)值數(shù)量 df.drop_duplicates(inplace= True ) # 刪除重復(fù)值
8. 自動化報(bào)告生成 使用 jinja2
庫可以生成自定義報(bào)告,。
from jinja2 import Template template = Template( '''Hello, {{ name }}! Your score is {{ score }}.''' ) output = template.render(name= 'Alice' , score= 85 ) print(output)
9. 自動化數(shù)據(jù)可視化 使用 matplotlib
庫可以生成圖表。
import matplotlib.pyplot as plt x = [ 1 , 2 , 3 , 4 ] y = [ 10 , 20 , 25 , 30 ] plt.plot(x, y) plt.xlabel( 'X-axis' ) plt.ylabel( 'Y-axis' ) plt.title( 'Sample Plot' ) plt.show()
10. 自動定時(shí)任務(wù) 使用 schedule
庫可以安排定時(shí)任務(wù),。
import schedule import time def job () : print( 'Task executed' ) schedule.every( 10 ).seconds.do(job) while True : schedule.run_pending() time.sleep( 1 )
11. 自動化日志管理 使用 logging
庫可以管理日志,。
import logging logging.basicConfig(filename= 'app.log' , level=logging.INFO) logging.info( 'This is an info message' )
12. 自動化圖像處理 使用 PIL
庫可以處理圖像。
from PIL import Image image = Image.open( 'image.jpg' ) image.rotate( 45 ).save( 'rotated_image.jpg' )
13. 自動化文件壓縮 使用 zipfile
庫可以壓縮文件,。
import zipfile with zipfile.ZipFile( 'files.zip' , 'w' ) as zipf: zipf.write( 'file1.txt' ) zipf.write( 'file2.txt' )
14. 自動化網(wǎng)絡(luò)請求 使用 requests
庫可以發(fā)送HTTP請求,。
import requests response = requests.get( 'https://api./data' ) print(response.json())
15. 自動化文本分析 使用 nltk
庫可以進(jìn)行文本分析。
import nltk nltk.download( 'punkt' ) from nltk.tokenize import word_tokenize text = 'Hello, world! This is a test.' tokens = word_tokenize(text) print(tokens)
實(shí)戰(zhàn)案例:自動化郵件報(bào)告生成 假設(shè)你需要每天自動生成一份銷售報(bào)告,,并通過郵件發(fā)送給團(tuán)隊(duì)成員,。下面是一個(gè)完整的腳本示例:
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart import pandas as pd from jinja2 import Template import schedule import time # 讀取銷售數(shù)據(jù) df = pd.read_csv( 'sales_data.csv' ) # 渲染報(bào)告模板 template = Template( ''' Daily Sales Report ================= Total Sales: {{ total_sales }} Top Seller: {{ top_seller }} ''' ) # 計(jì)算總銷售額和最佳銷售員 total_sales = df[ 'sales' ].sum() top_seller = df.loc[df[ 'sales' ].idxmax()][ 'name' ] # 生成報(bào)告內(nèi)容 report = template.render(total_sales=total_sales, top_seller=top_seller) # 發(fā)送郵件函數(shù) def send_report (report) : msg = MIMEMultipart() msg[ 'From' ] = 'sales@' msg[ 'To' ] = 'team@' msg[ 'Subject' ] = 'Daily Sales Report' msg.attach(MIMEText(report, 'plain' )) server = smtplib.SMTP( 'smtp.' , 587 ) server.starttls() server.login( 'sales@' , 'your_password' ) text = msg.as_string() server.sendmail( 'sales@' , 'team@' , text) server.quit() # 安排任務(wù) schedule.every().day.at( '09:00' ).do(send_report, report) # 運(yùn)行任務(wù) while True : schedule.run_pending() time.sleep( 1 )
總結(jié) 通過本文,我們學(xué)習(xí)了15個(gè)實(shí)用的Python腳本,,涵蓋了郵件發(fā)送,、文件操作,、數(shù)據(jù)清洗,、報(bào)告生成等多個(gè)方面,這些腳本將極大地提高你的日常辦公效率,。無論是自動化重復(fù)任務(wù),,還是進(jìn)行數(shù)據(jù)分析,Python都是一個(gè)強(qiáng)大的工具,。
好了,,今天的分享就到這里了,,我們下期見。如果本文對你有幫助,,請動動你可愛的小手指 點(diǎn)贊,、轉(zhuǎn)發(fā)、點(diǎn)個(gè)在看 吧,!