
你有没有遇到过这种情况?
每天下班前,同事都已经走了,你还在对着电脑疯狂复制粘贴,处理Excel、Word、PDF这些文件,手动发送邮件、整理文件夹...
说实话,我之前也是这样。
直到我发现Python能帮我自动完成90%的重复性工作。
今天给你整理了25个Python自动化办公库,掌握这些,每天能至少省下2小时。
往期Python阅读>>
Python 自动化做数据可视化10个示例(含代码),强烈推荐
功能:全功能操作Word文档
典型场景:合同批量生成、报告自动化排版
from docx import Documentdoc = Document()doc.add_heading('年度总结', level=1)doc.save('report.docx')功能:读写Excel 2010+格式文件
优势:支持公式计算、图表生成
from openpyxl import load_workbookwb = load_workbook('data.xlsx')ws = wb.activews['A1'] = "销量"功能:PDF合并/拆分/水印/加密
场景:批量处理扫描件、报告整合
from PyPDF2 import PdfMergermerger = PdfMerger()merger.append("file1.pdf")merger.write("merged.pdf")功能:动态创建PPT幻灯片
特色:支持模板套用、图表插入
from pptx import Presentationprs = Presentation()slide = prs.slides.add_slide(prs.slide_layouts[0])slide.shapes.title.text = "项目汇报"功能:从PDF中提取表格和文本
场景:发票信息提取、报表数据抓取
import pdfplumberwith pdfplumber.open("invoice.pdf") as pdf: page = pdf.pages[0] table = page.extract_table()功能:文件批量操作
组合技:配合glob实现模式匹配
import shutil, osshutil.copy('source.txt', 'backup/')功能:模拟鼠标键盘操作
场景:无API接口的软件自动化
import pyautoguipyautogui.click(100, 200)功能:轻量级定时任务调度
用例:每日报表自动发送
import scheduleschedule.every().day.at("09:00").do(send_report)功能:监控文件系统变化
场景:文件夹自动同步、文件到达触发处理
from watchdog.observers import Observerfrom watchdog.events import FileSystemEventHandler功能:高级定时任务调度
优势:支持cron表达式、持久化任务
from apscheduler.schedulers.background import BackgroundSchedulerscheduler = BackgroundScheduler()scheduler.add_job(send_report, 'cron', hour=9)核心能力:数据清洗/分析/可视化
效率:秒级处理百万行Excel数据
import pandas as pddf = pd.read_excel('sales.xlsx')df.groupby('产品').sum().plot.bar()特色:控制已打开的Excel实例
场景:实时更新财务模型
import xlwings as xwwb = xw.Book('model.xlsx')wb.sheets['Sheet1'].range('A1').value = "更新"定位:科学计算基础库
协作:为pandas提供高速数组运算支持
import numpy as nparr = np.array([1, 2, 3])arr2d = np.array([[1, 2], [3, 4]])功能:Excel样式增强
特色:批量设置单元格格式、条件格式
from openpyxl.styles import Fontcell.font = Font(bold=True, color="FF0000")功能:读取Excel二进制格式(.xlsb)
场景:处理超大Excel文件时提升性能
import pyxlsbworkbook = pyxlsb.open_workbook('large_data.xlsb')功能:自动化邮件发送(含附件)
企业级应用:薪资条批量发送
import smtplibmsg = MIMEMultipart()msg.attach(MIMEText("正文内容"))server.sendmail(from_addr, to_addr, msg.as_string())功能:HTTP请求与API交互
场景:爬取数据、对接企业系统
response = requests.get('https://api.example.com/data')print(response.json())核心:浏览器自动化
典型应用:网页数据抓取、表单自动提交
from selenium import webdriverdriver = webdriver.Chrome()driver.get("https://login.page")功能:解析HTML/XML
场景:网页内容提取、数据清洗
from bs4 import BeautifulSoupsoup = BeautifulSoup(html, 'html.parser')title = soup.find('h1').text功能:异步HTTP请求
优势:高并发场景下性能提升显著
import aiohttpimport asyncioasync def fetch(session, url): async with session.get(url) as response: return await response.text()功能:为循环添加进度条
价值:直观显示长时间任务进度
from tqdm import tqdmfor i in tqdm(range(10000)): process_data(i)定位:开箱即用的办公工具箱
特色功能:PDF转Word、文件内容搜索
import officeoffice.pdf.pdf2docx(file_path='input.pdf')功能:剪贴板操作
场景:跨应用数据复制粘贴
import pyperclippyperclip.copy("要复制的内容")text = pyperclip.paste()功能:终端美化输出
特色:进度条、表格、语法高亮
from rich.console import Consoleconsole = Console()console.print("Hello", style="bold red")功能:简化日志记录
优势:自动轮转、格式化、异常捕获
from loguru import loggerlogger.add("file.log", rotation="500 MB")logger.info("任务开始执行")掌握这25个库可以覆盖95%的办公自动化需求:从文档处理(Excel/Word/PDF)、任务调度(定时邮件/文件整理)到数据决策(分析/可视化)。
建议优先学习pandas + openpyxl处理数据、python-docx生成报告、schedule实现自动化任务流,三者结合可构建完整自动化工作链。
重复性工作交给Python,把时间留给更有价值的事情。
💬 你平时用Python做哪些自动化工作?评论区聊聊~
如果对你有帮助,点个在看让更多人看到吧 👇
想高效学习Python?下面三本精选好书满足你的不同需求!
《流畅的Python(第2版)》——Python进阶必读!深入讲解高级特性与最佳实践,适合想精进的开发者。
《Python从新手到高手》:初学者首选,系统学习全栈技能。
《Python数据分析:从零基础入门到案例实战》——数据科学利器!手把手教你用Python处理数据,实战案例学完就能用。
三本书均支持先用后付、运费险和7天无理由退货,放心购买!点击“购买”按钮,立即开启你的Python学习之旅吧!
https://ima.qq.com/wiki/?shareId=f2628818f0874da17b71ffa0e5e8408114e7dbad46f1745bbd1cc1365277631c
