
你是否每天都在重复同样的操作?复制粘贴数据、整理文件夹、手动发送邮件、批量修改格式...这些琐碎的工作消耗了大量时间。更糟的是,重复操作最容易出错,一次失误可能就要花半天时间排查。
我整理了20个Python自动化办公库,涵盖文件处理、数据分析和任务调度等核心场景。先说结论:掌握这些库后,我的日常办公效率提升了约400%,每周节省了超过10小时。这不是夸张,是真实数据。

办公自动化场景示意图
功能:全功能操作Word文档,支持创建、修改、样式调整
典型场景:合同批量生成、报告自动化排版
from docx import Document
doc = Document()
doc.add_heading('年度总结', level=1)
doc.add_paragraph('这是自动生成的报告内容')
doc.save('report.docx')功能:读写Excel 2010+格式文件(.xlsx/.xlsm)
优势:支持公式计算、图表生成、样式设置
from openpyxl import load_workbook
wb = load_workbook('data.xlsx')
ws = wb.active
ws['A1'] = "销量"
ws['B1'] = 100
wb.save('data.xlsx')功能:PDF合并、拆分、加水印、加密
场景:批量处理扫描件、报告整合
from PyPDF2 import PdfMerger
merger = PdfMerger()
merger.append("file1.pdf")
merger.append("file2.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 = "项目汇报"
prs.save('presentation.pptx')功能:图像处理库,支持批量处理图片
场景:批量调整图片尺寸、添加水印、格式转换
from PIL import Image
img = Image.open('photo.jpg')
img = img.resize((800, 600))
img.save('resized.jpg')功能:文件批量操作,包括移动、复制、删除
组合技:配合glob实现模式匹配批量处理
import shutil
import os
shutil.copy('source.txt', 'backup/')
os.makedirs('new_folder', exist_ok=True)功能:模拟鼠标键盘操作
场景:自动化无API接口的软件操作
import pyautogui
pyautogui.click(100, 200)
pyautogui.typewrite('hello')功能:轻量级定时任务调度
用例:每日报表自动发送、定时备份数据
import schedule
def job():
print("执行定时任务")
schedule.every().day.at("09:00").do(job)功能:监控文件系统变化
场景:文件到达自动处理、实时同步
from watchdog.observers import Observer
from watchdog.events import FileSystemEventHandler
class Handler(FileSystemEventHandler):
def on_modified(self, event):
print(f"文件被修改: {event.src_path}")功能:获取系统信息,监控进程和资源
应用:系统资源监控、进程管理
import psutil
cpu_percent = psutil.cpu_percent()
memory_info = psutil.virtual_memory()
print(f"CPU使用率: {cpu_percent}%")
效率提升对比示意图
核心能力:数据清洗、分析、可视化
效率:秒级处理百万行Excel数据
import pandas as pd
df = pd.read_excel('sales.xlsx')
result = df.groupby('产品').sum()
result.to_excel('summary.xlsx')特色:控制已打开的Excel实例
场景:实时更新财务模型、与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 import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = "姓名"
ws['B1'] = "分数"
wb.save('grades.xlsx')功能:数据可视化库,生成各类图表
场景:数据报表、趋势分析
import matplotlib.pyplot as plt
plt.plot([1, 2, 3], [4, 5, 6])
plt.title("销售趋势")
plt.savefig('chart.png')功能:自动化邮件发送,支持附件
企业级应用:薪资条批量发送、报表自动推送
import smtplib
from email.mime.text import MIMEText
msg = MIMEText("邮件正文")
msg['Subject'] = "自动报表"
server.sendmail(from_addr, to_addr, msg.as_string())功能:HTTP请求与API交互
场景:爬取数据、对接企业系统、获取网络资源
import requests
response = requests.get('https://api.example.com/data')
data = response.json()核心:浏览器自动化
典型应用:网页数据抓取、表单自动提交
from selenium import webdriver
driver = webdriver.Chrome()
driver.get("https://login.page")
driver.find_element_by_id("username").send_keys("user")功能:HTML和XML解析库
场景:网页数据提取、内容抓取
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_content, 'html.parser')
title = soup.find('h1').text定位:开箱即用的办公工具箱
特色功能:PDF转Word、文件内容搜索
import office
office.pdf.pdf2docx(file_path='input.pdf')1. 从最痛的点开始 别想着一次性全学完。先选一个每天重复3次以上的操作,比如"批量重命名文件",用Python脚本替代。尝到甜头后再扩展。
2. 先用后精 不需要把每个库的所有功能都学一遍。先掌握最常用的20%功能,解决80%的问题。遇到复杂场景再深入学习。
3. 封装成工具 把常用的脚本封装成函数或命令行工具,方便复用和分享给团队。记住,能复用的代码才是有价值的代码。
这些库很强大,但记住两点:
第一,测试是关键。任何自动化脚本在实际使用前,都要在小范围数据上测试,避免大规模数据出错。
第二,保持代码简洁。办公自动化的目标是提高效率,不是炫技。简单直接的代码更容易维护和优化。
Python自动化办公不是技术爱好者的专属,是每个职场人都应该掌握的技能。从今天开始,选一个库试试吧。相信我,一旦尝到自动化的甜头,你就回不去了。
“无他,惟手熟尔”!有需要的用起来!
本文分享自 Nicholas与Pypi 微信公众号,前往查看
如有侵权,请联系 cloudcommunity@tencent.com 删除。
本文参与 腾讯云自媒体同步曝光计划 ,欢迎热爱写作的你一起参与!