每天机械复制粘贴 Excel?手动发几十封邮件?打开上百个 Word 文档修改标题?用 Python 搞定这些,只需几分钟!
如果你每天都在做这些事情:
那么你非常适合了解 Python 办公自动化。你不需要成为程序员,只需要会复制粘贴代码、稍加改动,即可让日常任务效率提升 10 倍!
办公自动化需要的一些库:
bash复制编辑pip install pandas openpyxl python-docx pywin32 yagmail pillow
库名 | 功能 |
---|---|
pandas | Excel 表格读取与处理 |
openpyxl | 操作 Excel 文件 |
python-docx | 操作 Word 文档 |
pywin32 | 控制 Word、Excel、Outlook |
yagmail | 发送带附件的邮件 |
os, shutil | 批量管理文件 |
Pillow | 图像处理(如自动压缩图片) |
python复制编辑import pandas as pd
df = pd.read_excel("sales_data.xlsx")
summary = df.groupby("地区")[["销售额"]].sum().reset_index()
summary.to_excel("日报_汇总.xlsx", index=False)
python复制编辑from docx import Document
doc = Document()
doc.add_heading("销售日报", 0)
doc.add_paragraph("以下是今日各地区销售额:")
table = doc.add_table(rows=1, cols=2)
hdr_cells = table.rows[0].cells
hdr_cells[0].text = '地区'
hdr_cells[1].text = '销售额'
for _, row in summary.iterrows():
cells = table.add_row().cells
cells[0].text = row["地区"]
cells[1].text = str(row["销售额"])
doc.save("日报.docx")
你也可以插入图片或图表(使用 matplotlib 生成图后保存,再插入 Word):
python复制编辑from docx.shared import Inches
doc.add_picture("sales_plot.png", width=Inches(5))
我们用 yagmail
+ QQ 邮箱(或企业邮箱)来群发邮件。
python复制编辑import yagmail
yag = yagmail.SMTP(user="your@qq.com", password="授权码", host="smtp.qq.com")
python复制编辑df = pd.read_excel("客户列表.xlsx") # 包含客户名和邮箱地址
for i, row in df.iterrows():
name = row['姓名']
email = row['邮箱']
yag.send(
to=email,
subject="日报送达",
contents=[
f"{name},您好,这是您今日的销售报告。",
"请查收附件。",
],
attachments="日报.docx"
)
✅ 支持添加多个附件、抄送、多图插入、个性化问候语等。
python复制编辑from docx import Document
import os
files = os.listdir("简历模板/")
for file in files:
if file.endswith(".docx"):
doc = Document(f"简历模板/{file}")
doc.paragraphs[0].text = "张三的个人简历" # 修改标题
doc.save(f"简历模板/改后_{file}")
也可以替换文中的指定文字:
python复制编辑for p in doc.paragraphs:
if "姓名" in p.text:
p.text = p.text.replace("姓名", "张三")
python复制编辑import os
import shutil
source_folder = "下载文件"
target_folder = "整理后/"
for file in os.listdir(source_folder):
ext = os.path.splitext(file)[1]
folder = ext.strip('.').upper() + "_文件"
new_dir = os.path.join(target_folder, folder)
os.makedirs(new_dir, exist_ok=True)
shutil.move(os.path.join(source_folder, file), os.path.join(new_dir, file))
将所有 .pdf
放进 PDF_文件 文件夹,.jpg
放进 JPG_文件 文件夹……
完整架构图:
css复制编辑[Excel 数据] → [Python 分析] → [Word 报告 + 图] → [邮件发送]
你可以让自动化任务每天 9 点执行一次。
方法一:Windows 任务计划程序
方法二:使用 Python 定时库 schedule
:
python复制编辑import schedule
import time
def task():
print("正在生成并发送日报...")
schedule.every().day.at("09:00").do(task)
while True:
schedule.run_pending()
time.sleep(10)
场景 | 说明 |
---|---|
报表自动生成 | Excel → Word → 发送 |
批量邮件 | 带附件、个性化内容群发 |
文件管理 | 批量分类、重命名 |
批量图片处理 | 压缩、尺寸统一、改名 |
自动抄表 | 提取设备日志定时入库 |
xlwings
:控制 Excel 公式、图表;
win32com
:深度操作 Office 套件(打开、打印、转 PDF);
docxtpl
:用模板快速批量生成 Word 文档;
streamlit
:做一个你自己的报表网页端;
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。