
你有没有遇到过这种情况?
每天下班前,同事都已经走了,你还在对着电脑疯狂复制粘贴,处理Excel、Word、PDF这些文件,手动发送邮件、整理文件夹...
说实话,我之前也是这样。
直到我发现Python能帮我自动完成90%的重复性工作。
今天给你整理了25个Python自动化办公库,掌握这些,每天能至少省下2小时。
功能:全功能操作Word文档
典型场景:合同批量生成、报告自动化排版
from docx import Document
doc = Document()
doc.add_heading('年度总结', level=1)
doc.save('report.docx')
功能:读写Excel 2010+格式文件
优势:支持公式计算、图表生成
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
ws = wb.active
ws['A1'] = "销量"
功能:PDF合并/拆分/水印/加密
场景:批量处理扫描件、报告整合
from PyPDF2 import PdfMerger
merger = PdfMerger()
merger.append("file1.pdf")
merger.write("merged.pdf")
功能:动态创建PPT幻灯片
特色:支持模板套用、图表插入
from pptx import Presentation
prs = Presentation()
slide = prs.slides.add_slide(prs.slide_layouts[0])
slide.shapes.title.text = "项目汇报"
功能:从PDF中提取表格和文本
场景:发票信息提取、报表数据抓取
import pdfplumber
with pdfplumber.open("invoice.pdf") as pdf:
page = pdf.pages[0]
table = page.extract_table()
功能:文件批量操作
组合技:配合glob实现模式匹配
import shutil, os
shutil.copy('source.txt', 'backup/')
功能:模拟鼠标键盘操作
场景:无API接口的软件自动化
import pyautogui
pyautogui.click(100, 200)
功能:轻量级定时任务调度
用例:每日报表自动发送
import schedule
schedule.every().day.at("09:00").do(send_report)
功能:监控文件系统变化
场景:文件夹自动同步、文件到达触发处理
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
功能:高级定时任务调度
优势:支持cron表达式、持久化任务
from apscheduler.schedulers.background import BackgroundScheduler
scheduler = BackgroundScheduler()
scheduler.add_job(send_report, 'cron', hour=9)
核心能力:数据清洗/分析/可视化
效率:秒级处理百万行Excel数据
import pandas as pd
df = pd.read_excel('sales.xlsx')
df.groupby('产品').sum().plot.bar()
特色:控制已打开的Excel实例
场景:实时更新财务模型
import xlwings as xw
wb = xw.Book('model.xlsx')
wb.sheets['Sheet1'].range('A1').value = "更新"
定位:科学计算基础库
协作:为pandas提供高速数组运算支持
import numpy as np
arr = np.array([1, 2, 3])
arr2d = np.array([[1, 2], [3, 4]])
功能:Excel样式增强
特色:批量设置单元格格式、条件格式
from openpyxl.styles import Font
cell.font = Font(bold=True, color="FF0000")
功能:读取Excel二进制格式(.xlsb)
场景:处理超大Excel文件时提升性能
import pyxlsb
workbook = pyxlsb.open_workbook('large_data.xlsb')
功能:自动化邮件发送(含附件)
企业级应用:薪资条批量发送
import smtplib
msg = 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 webdriver
driver = webdriver.Chrome()
driver.get("https://login.page")
功能:解析HTML/XML
场景:网页内容提取、数据清洗
from bs4 import BeautifulSoup
soup = BeautifulSoup(html, 'html.parser')
title = soup.find('h1').text
功能:异步HTTP请求
优势:高并发场景下性能提升显著
import aiohttp
import asyncio
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
功能:为循环添加进度条
价值:直观显示长时间任务进度
from tqdm import tqdm
for i in tqdm(range(10000)):
process_data(i)
定位:开箱即用的办公工具箱
特色功能:PDF转Word、文件内容搜索
import office
office.pdf.pdf2docx(file_path='input.pdf')
功能:剪贴板操作
场景:跨应用数据复制粘贴
import pyperclip
pyperclip.copy("要复制的内容")
text = pyperclip.paste()
功能:终端美化输出
特色:进度条、表格、语法高亮
from rich.console import Console
console = Console()
console.print("Hello", style="bold red")
功能:简化日志记录
优势:自动轮转、格式化、异常捕获
from loguru import logger
logger.add("file.log", rotation="500 MB")
logger.info("任务开始执行")
掌握这25个库可以覆盖95%的办公自动化需求:从文档处理(Excel/Word/PDF)、任务调度(定时邮件/文件整理)到数据决策(分析/可视化)。
建议优先学习pandas + openpyxl处理数据、python-docx生成报告、schedule实现自动化任务流,三者结合可构建完整自动化工作链。
重复性工作交给Python,把时间留给更有价值的事情。
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!