
最新動(dòng)態(tài)
Python自動(dòng)化辦公的15個(gè)高效腳本,助你工作效率翻倍!
2024-12-18Python自動(dòng)化辦公的15個(gè)實(shí)用腳本,讓你效率翻倍!
辦公室里那些重復(fù)的工作真的讓人頭疼!要是能用Python來解決這些問題就好了。經(jīng)過一番研究,我整理出了15個(gè)非常有用的Python腳本,確保能夠幫助你在工作中提高效率。
批量重命名文件
你是否遇到過需要更改數(shù)百個(gè)文件名的情況?手動(dòng)更改太麻煩了。使用Python編寫一個(gè)小腳本,幾分鐘就能搞定:
1import os
2
3def batch_rename(path, old_str, new_str):
4 files = os.listdir(path)
5 for file in files:
6 if old_str in file:
7 new_name = file.replace(old_str, new_str)
8 os.rename(os.path.join(path, file), os.path.join(path, new_name))
????提示:記得先備份文件,萬一改錯(cuò)了還能恢復(fù)。
Excel數(shù)據(jù)批量處理
處理Excel數(shù)據(jù)最麻煩的是要處理多個(gè)文件。pandas庫簡(jiǎn)直是神器:
1import pandas as pd
2
3def merge_excel(folder_path, output_file):
4 all_data = pd.DataFrame()
5 for file in os.listdir(folder_path):
6 if file.endswith(.xlsx):
7 df = pd.read_excel(os.path.join(folder_path, file))
8 all_data = pd.concat([all_data, df])
9 all_data.to_excel(output_file, index=False)
PDF文件合并
開會(huì)要用的資料分散在幾個(gè)PDF文件中?這個(gè)腳本幫你合并成一個(gè):
1from PyPDF2 import PdfMerger
2
3def merge_pdfs(pdf_list, output_file):
4 merger = PdfMerger()
5 for pdf in pdf_list:
6 merger.append(pdf)
7 merger.write(output_file)
8 merger.close()
自動(dòng)發(fā)送郵件
每天都要發(fā)送類似的郵件?用這個(gè)腳本一鍵發(fā)送:
1import smtplib
2from email.mime.text import MIMEText
3
4def send_email(sender, password, receiver, subject, content):
5 msg = MIMEText(content)
6 msg[Subject] = subject
7 msg[From] = sender
8 msg[To] = receiver
9
10 with smtplib.SMTP_SSL(smtp.gmail.com, 465) as smtp:
11 smtp.login(sender, password)
12 smtp.send_message(msg)
定時(shí)任務(wù)執(zhí)行
有些工作需要定時(shí)完成?schedule庫來幫你搞定:
1import schedule
2import time
3
4def job():
5 print(“執(zhí)行定時(shí)任務(wù)...”)
6
7schedule.every().day.at(“10:00”).do(job)
8
9while True:
10 schedule.run_pending()
11 time.sleep(1)
圖片批量壓縮
幻燈片里的圖片太大無法發(fā)送?批量壓縮它們:
1from PIL import Image
2
3def compress_images(input_path, output_path, quality=80):
4 img = Image.open(input_path)
5 img.save(output_path, quality=quality, optimize=True)
網(wǎng)頁數(shù)據(jù)爬取
需要從網(wǎng)站上抓取數(shù)據(jù)?requests庫來幫忙:
1import requests
2from bs4 import BeautifulSoup
3
4def get_web_data(url):
5 response = requests.get(url)
6 soup = BeautifulSoup(response.text, html.parser)
7 return soup.get_text()
Word文檔處理
需要批量修改Word文檔?python-docx庫很給力:
1from docx import Document
2
3def process_word(file_path):
4 doc = Document(file_path)
5 for para in doc.paragraphs:
6 # 在這里處理段落
7 pass
8 doc.save(new_ + file_path)
自動(dòng)填寫表格
每天都要填寫同樣的表格?這個(gè)腳本能幫你解放雙手:
1import openpyxl
2
3def fill_form(template_path, data_dict):
4 wb = openpyxl.load_workbook(template_path)
5 sheet = wb.active
6 for cell, value in data_dict.items():
7 sheet[cell] = value
8 wb.save(filled_ + template_path)
文件監(jiān)控
需要監(jiān)控文件夾的變化?watchdog庫來幫忙:
1from watchdog.observers import Observer
2from watchdog.events import FileSystemEventHandler
3
4class MyHandler(FileSystemEventHandler):
5 def on_modified(self, event):
6 print(f文件被修改啦: {event.src_path})
自動(dòng)備份
擔(dān)心文件丟失?寫個(gè)自動(dòng)備份腳本:
1import shutil
2import datetime
3
4def backup_files(source, dest):
5 date = datetime.datetime.now().strftime(%Y%m%d)
6 shutil.copytree(source, f{dest}/backup_{date})
日志分析
日志文件太多看不過來?用Python幫你分析:
1def analyze_log(log_file):
2 with open(log_file, r) as f:
3 logs = f.readlines()
4 errors = [log for log in logs if ERROR in log]
5 return len(errors)
CSV數(shù)據(jù)處理
CSV文件處理也是小菜一碟:
1import csv
2
3def process_csv(file_path):
4 with open(file_path, r) as f:
5 reader = csv.DictReader(f)
6 for row in reader:
7 # 處理每一行數(shù)據(jù)
8 pass
自動(dòng)截圖
需要自動(dòng)截圖?pyautogui幫你搞定:
1import pyautogui
2
3def take_screenshot(filename):
4 screenshot = pyautogui.screenshot()
5 screenshot.save(filename)
GUI自動(dòng)化
重復(fù)的點(diǎn)擊操作?讓程序幫你點(diǎn):
1import pyautogui
2
3def click_button(x, y):
4 pyautogui.moveTo(x, y)
5 pyautogui.click()
????提示:使用這些腳本時(shí)記得測(cè)試一下,避免弄丟重要文件。還有,涉及密碼的代碼要加密存儲(chǔ),不要直接寫在腳本里。
這些腳本都是我在實(shí)際工作中使用的,確實(shí)節(jié)省了很多時(shí)間。代碼并不難,復(fù)制粘貼稍作修改就能用。遇到報(bào)錯(cuò)也不要慌,通常是因?yàn)槿鄙傧鄳?yīng)的庫,用pip install安裝一下就好。
如果你需要更多的自動(dòng)化想法,可以查閱Python的自動(dòng)化庫,比如 pyautogui 、 selenium 等,里面有很多有趣的功能。
寫代碼最重要的是解決問題,這些腳本都是為了實(shí)際問題而設(shè)計(jì)的,用起來特別順手!
點(diǎn)點(diǎn)贊
點(diǎn)分享
點(diǎn)在看