本文档适用于零基础职场人士,包含7 套可直接运行的实战代码、工具安装与使用说明,用于高效完成 Excel/Word/PDF/文件/邮件自动化工作。
一、Python 自动化办公介绍
- 适用人群行政、财务、人事、运营、文员、数据整理、日常重复办公人群
二、7 天零基础学习路线
Day 1:Python 基础必备
Day 2:Excel 基础操作(pandas)
- 保存 Excel:to_excel()目标:实现 Excel 的读取、查询、保存
Day 3:Excel 进阶:合并与统计
- 求和、平均值、去重、空值处理目标:完成月度/年度数据汇总表
Day 4:Word 自动化
- 根据 Excel 数据批量生成文档目标:批量制作通知、合同、工资条
Day 5:PDF 自动化处理
Day 6:文件整理 + 邮件自动化
- 自动发送邮件并携带附件目标:一键整理文件夹、自动发送报表
Day 7:综合实战
- 完整流程:合并 Excel → 生成报表 → 自动发邮件
- 常见报错处理方法目标:能根据实际需求修改代码并使用
三、一键安装所有依赖库
打开电脑命令提示符(CMD),执行以下命令:pip install pandas openpyxl python-docx PyPDF2
四、实战案例代码(直接复制运行)
案例 1:批量合并多个 Excel 文件
python import os import pandas as pd folder = "./表格"all_data = [] for file in os.listdir(folder): if file.endswith(".xlsx"): file_path = os.path.join(folder, file) df = pd.read_excel(file_path) all_data.append(df) result = pd.concat(all_data, ignore_index=True) result.to_excel("合并结果.xlsx", index=False) print("合并完成!")
案例 2:Excel 数据筛选与统计
import pandas as pd df = pd.read_excel("销售数据.xlsx") high = df[df["销售额"] > 5000] print("总销售额:", df["销售额"].sum()) print("平均销售额:", df["销售额"].mean()) high.to_excel("高销售额名单.xlsx", index=False)
案例 3:按 Excel 数据批量生成 Word 通知
import pandas as pd from docx import Document df = pd.read_excel("名单.xlsx") for idx, row in df.iterrows(): doc = Document() doc.add_heading(f"通知:{row['姓名']}", 0) doc.add_paragraph(f"部门:{row['部门']}") doc.add_paragraph(f"本月绩效:{row['绩效']} 分") doc.add_paragraph("请按时完成下月任务。") doc.save(f"通知_{row['姓名']}.docx") print("批量生成完成!")
案例 4:文件按类型自动分类整理
import os import shutil os.makedirs("Excel文件", exist_ok=True) os.makedirs("PDF文件", exist_ok=True) os.makedirs("Word文件", exist_ok=True) for f in os.listdir("."): if f.endswith((".xlsx", ".xls")): shutil.move(f, f"Excel文件/{f}") elif f.endswith(".pdf"): shutil.move(f, f"PDF文件/{f}") elif f.endswith(".docx"): shutil.move(f, f"Word文件/{f}") print("文件整理完成!")
案例 5:excel文件批量重命名
import os path = "."count = 1 for f in os.listdir(path): if f.endswith(".xlsx"): new_name = f"资料_{count}.xlsx" os.rename(f, new_name) count += 1 print("重命名完成!")
案例 6:多个 PDF 文件合并
from PyPDF2 import PdfReader, PdfWriter merger = PdfWriter() merger.append("1.pdf") merger.append("2.pdf") merger.append("3.pdf") merger.write("合并完成.pdf") merger.close() print("PDF 合并完成!")
案例 7:自动发送邮件(带附件)
import smtplib from email.mime.text import MIMEText from email.mime.multipart import MIMEMultipart from email.mime.base import MIMEBase from email import encoders from_addr = "你的邮箱@163.com"to_addr = "对方邮箱@xxx.com"password = "邮箱授权码"smtp_server = "smtp.163.com"port = 465 msg = MIMEMultipart() msg["From"] = from_addr msg["To"] = to_addr msg["Subject"] = "自动化报表"body = "你好,附件为今日自动生成的报表。"msg.attach(MIMEText(body, "plain", "utf-8")) file_path = "报表.xlsx"with open(file_path, "rb") as f: part = MIMEBase("application", "octet-stream") part.set_payload(f.read()) encoders.encode_base64(part) part.add_header("Content-Disposition", f"attachment; filename=报表.xlsx") msg.attach(part) with smtplib.SMTP_SSL(smtp_server, port) as server: server.login(from_addr, password) server.send_message(msg) print("邮件发送成功!")
五、使用说明
- 新建一个文件夹,将需要处理的 Excel、PDF、Word 等文件放入其中
- 复制对应案例代码,修改文件名、路径、邮箱信息等参数