在日常工作与生活中,Word 文档处理是高频刚需:职场人批量生成报告、自动填充合同模板、读取文档数据统计、批量修改格式、整理会议纪要…… 手动操作不仅耗时费力,还容易出现格式错乱、数据错误等问题,尤其面对几十上百份文档时,效率极低。
python-docx是 Python 生态中最专业、最成熟的 Word 文档处理第三方库,专注于操作.docx格式的 Word 文件,完美支持创建、修改、读取、格式化 Word 文档,覆盖办公全场景。它无需打开 Office 软件,纯代码自动化处理文档,无论是行政批量生成入职合同、财务自动生成报表、文案快速排版文章,还是程序员生成接口文档,都能大幅提升工作效率,彻底告别重复的手动办公,是职场办公自动化的核心利器。
一、库的简介:实际生活中的核心作用
python-docx 专注处理微软 Word 2007 及以上版本的
文件,是办公自动化的必备工具。在实际生活中,它的价值无处不在:
- 职场办公:批量生成劳动合同、周报、月报、请假单,一键替换模板关键词;
- 文案创作:自动排版文章、设置字体段落、添加标题列表,统一文档格式;
- 数据报表:将 Excel / 数据库数据自动生成 Word 分析报告,无需手动复制粘贴;
- 资料整理:批量读取 Word 文档内容、提取文字、修改段落,高效处理文档资料。
它操作简单、功能强大,支持自定义字体、颜色、段落、表格、图片等所有 Word 核心元素,让代码替代人工,实现 10 分钟完成几小时的文档处理工作。
二、安装库
python-docx 是第三方库,需要通过 pip 命令快速安装,打开命令提示符执行:
安装完成后,直接导入库即可使用,无复杂环境配置,新手也能快速上手。
三、基本用法(分 4 步快速上手)
1. 创建文档对象
初始化空白 Word 文档,这是所有操作的基础:
# 导入核心类 from docx import Document # 创建空白文档对象 doc = Document()
2. 添加标题与段落
快速添加文档标题和正文,支持多级标题:
# 添加一级标题 doc.add_heading('办公自动化实战', level=1) # 添加正文段落 p = doc.add_paragraph('python-docx是Python处理Word的最佳工具,轻松实现批量文档处理。')
4. 读取现有文档
打开已有的 Word 文档,读取文字内容:
# 打开现有文档 doc = Document('测试文档.docx') # 遍历读取所有段落 for paragraph in doc.paragraphs: print(paragraph.text)
四、高级用法
进阶功能满足专业办公需求,实现精细化文档处理:
- 1.设置文字格式
from docx.shared import Pt from docx.oxml.ns import qn run = p.runs[0] # 设置字体大小 run.font.size = Pt(14) # 设置加粗 run.bold = True # 设置中文字体 run.font.name = '微软雅黑' run._element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')
2.插入表格
# 创建3行2列的表格 table = doc.add_table(rows=3, cols=2, style='Table Grid') # 填充表格数据 table.cell(0, 0).text = '姓名' table.cell(0, 1).text = '职位' table.cell(1, 0).text = '张三' table.cell(1, 1).text = 'Python工程师'
# 定义替换规则 replace_dict = {'{{公司}}': '科技有限公司', '{{日期}}': '2025年12月29日'} # 遍历段落替换 for p in doc.paragraphs: for old, new in replace_dict.items(): if old in p.text: p.text = p.text.replace(old, new)
# 添加无序列表 doc.add_paragraph('1. 安装库', style='List Bullet') # 添加分页符 doc.add_page_break()
五、实际应用场景
场景 1:批量生成员工入职合同(职场必备)
自动读取员工信息,填充合同模板,批量生成专属合同:
from docx import Document # 员工数据 employees = [ {'name': '李四', 'id': '001', 'department': '技术部', 'salary': '15000'}, {'name': '王五', 'id': '002', 'department': '产品部', 'salary': '12000'} ] # 批量生成合同 for emp in employees: doc = Document('合同模板.docx') # 替换模板变量 for p in doc.paragraphs: p.text = p.text.replace('{{姓名}}', emp['name']) p.text = p.text.replace('{{工号}}', emp['id']) p.text = p.text.replace('{{部门}}', emp['department']) p.text = p.text.replace('{{薪资}}', emp['salary']) # 保存合同 doc.save(f'{emp["name"]}入职合同.docx')
场景 2:自动生成数据分析报告
将统计数据直接生成 Word 报告,无需手动排版:
from docx import Document from docx.shared import Pt doc = Document() # 标题 doc.add_heading('月度销售数据分析报告', 0) # 正文 doc.add_paragraph('一、核心数据:本月总销售额120万元,同比增长20%。') # 数据表格 table = doc.add_table(rows=4, cols=2) headers = ['产品', '销售额'] data = [['手机', '60万'], ['电脑', '40万'], ['配件', '20万']] for i, (h1, h2) in enumerate([headers] + data): table.cell(i, 0).text = h1 table.cell(i, 1).text = h2 doc.save('销售报告.docx')
python-docx 凭借简洁的 API、强大的功能,成为 Python 办公自动化的标杆库,它完美解决了手动处理 Word 文档的低效、易错问题,覆盖职场办公、数据报告、合同生成、资料整理等全场景,无论是个人办公还是企业批量处理,都能大幅降低时间成本。它无需专业编程基础,结合简单的 Python 语法,就能实现高度自动化的文档处理,是所有职场人、程序员提升工作效率的必备工具。
你在日常工作中最常处理哪种 Word 需求?是批量替换文本、生成报表,还是整理合同?不妨用 python-docx 动手尝试,把重复工作交给代码,感受自动化办公的便捷,也欢迎分享你的实战场景,一起解锁更多高效用法!
python-docx 是专注于 Word 文档处理的专业 Python 库,无需复杂配置,四步基础用法即可完成文档创建、编辑、读取和保存,高级用法支持格式定制、表格操作、文本替换等核心功能,覆盖职场办公、数据报表、合同管理等日常生活高频场景,能极大提升文档处理效率。它兼容性强、代码简洁,是自动化办公的首选工具,无论新手还是专业开发者都能快速掌握,轻松实现 Word 全自动化处理。