每天对着Excel、Word、PPT重复点鼠标?填表、合并文件、发邮件这些机械操作,其实几分钟就能搞定。用对Python库,办公室的活儿也能“躺平”完成。
openpyxl:Excel操作不再头疼
财务小李每周都要整理十几张销售表,以前光是复制粘贴就得两小时。现在他写了个脚本,自动读取多个Excel文件,汇总数据再生成图表。核心就靠 openpyxl。
from openpyxl import Workbook
wb = Workbook()
ws = wb.active
ws['A1'] = '销售额'
ws.append([2000, 3500, 4200])
wb.save('月报.xlsx')
改个单元格、加个公式、调整字体颜色,全都能代码控制。再也不用担心手滑填错行。
python-docx:批量生成合同不加班
人事部门每月要发几十份入职合同,名字、岗位、薪资一换就是半小时。用 python-docx,模板定好后,数据导入自动生成文档。
from docx import Document
doc = Document()
doc.add_heading('劳动合同', level=1)
doc.add_paragraph(f'员工姓名:{name}')
doc.add_paragraph(f'入职日期:{date}')
doc.save(f'{name}_合同.docx')
结合CSV表格,一百份合同一分钟跑完,还能统一格式不翻车。
PyPDF2:PDF拆分合并像切菜
法务收到的合同常是整本PDF,要提取某几页转发给同事,以前只能打印再扫描。现在用 PyPDF2,按页码自动拆分。
from PyPDF2 import PdfReader, PdfWriter
reader = PdfReader('合同全本.pdf')
writer = PdfWriter()
for i in range(3, 6):
writer.add_page(reader.pages[i])
with open('关键条款.pdf', 'wb') as f:
writer.write(f)
还能加密、加水印,处理起来比Adobe Acrobat还快。
smtplib + email:自动发邮件省心
行政每周五要给全员发周报摘要。现在设个定时任务,Python 自动登录邮箱群发,连附件都打包好。
import smtplib
from email.mime.text import MIMEText
msg = MIMEText('本周会议安排见附件')
msg['Subject'] = '周报提醒'
msg['From'] = 'admin@company.com'
msg['To'] = 'team@company.com'
server = smtplib.SMTP('smtp.company.com')
server.send_message(msg)
server.quit()
配合日历模块,连节假日都不用人工判断。
schedule:让任务自己跑起来
最爽的是把所有脚本串起来,早上九点自动拉数据、做表、发邮件,你到工位时活儿已经干完了。schedule 能让程序按时执行。
import schedule
import time
def job():
print('正在生成日报...')
generate_report()
schedule.every().day.at('09:00').do(job)
while True:
schedule.run_pending()
time.sleep(1)
放在后台运行,就像有个数字员工替你值班。
这些库安装简单,pip 一行命令就能上手。不用精通编程,会点基础语法就能解决实际问题。办公室里那些重复又烦人的活,真的没必要亲手做。”