六个实用的 Python 办公自动化场景,涵盖 PDF 简历解析、SMTP 邮件发送、Excel 数据处理(Vlookup、透视表、去重)、数据可视化绘图、Word 文档读取以及基础数学计算。通过具体的代码示例和库函数说明,帮助开发者利用 Python 脚本替代重复性手工操作,显著提升日常办公效率。
清酒独酌22 浏览
6 个 Python 办公自动化技巧:PDF 解析、邮件发送与数据分析实战
前言
在现代办公场景中,重复性、机械化的工作占据了大量时间。利用 Python 脚本处理文档、数据通信和报表分析,可以显著提升工作效率。本文将介绍六个实用的 Python 办公自动化场景,涵盖 PDF 解析、邮件发送、Excel 数据处理、可视化绘图、Word 文档读取以及基础数学计算,并提供完整的代码示例。
一、解析 PDF(简历内推)
应用场景: 批量解析简历或合同中的关键信息(姓名、邮箱、电话、学历等)。
环境准备: Python 3.6+,需安装 pdfminer.six。
pip install pdfminer.six
依赖包导入:
from pdfminer.pdfparser import PDFParser
from pdfminer.pdfdocument import PDFDocument
from pdfminer.pdfpage import PDFPage
from pdfminer.pdfinterp import PDFResourceManager, PDFPageInterpreter
from pdfminer.layout import LAParams, PDFPageAggregator
核心代码实现:
defpdf_reader(file_path):
try:
fp = open(file_path, "rb")
parser = PDFParser(fp)
doc = PDFDocument(parser)
parser.set_document(doc)
resource = PDFResourceManager()
laparams = LAParams()
device = PDFPageAggregator(resource, laparams=laparams)
interpreter = PDFPageInterpreter(resource, device)
res = ''for page in PDFPage.create_pages(doc):
interpreter.process_page(page)
layout = device.get_result()
for out in layout:
ifhasattr(out, "get_text"):
res += out.get_text() + '\n'return res
Exception e:
()
:
fp.close()
except
as
print
f"解析失败:{e}"
return
None
finally
说明: 该函数遍历 PDF 的每一页,提取文本内容并拼接返回。适用于纯文本型 PDF,对于扫描版图片 PDF 需结合 OCR 技术。
import os
from docx import Document
defword_reader(file_path):
ifnot file_path.endswith('.docx'):
# 注意:doc 转 docx 通常需要外部工具如 LibreOffice 或 textutil# 此处仅演示 docx 读取逻辑print("当前仅支持 .docx 格式直接读取")
returnNonetry:
f = Document(file_path)
res = ''for para in f.paragraphs:
res += para.text + '\n'return res
except Exception as e:
print(f"读取失败:{e}")
returnNone