使用python-docx库
Python编辑Word文档可通过python-docx
库实现,该库提供了丰富的功能,涵盖文档创建、修改、格式设置及批量处理等。以下是具体操作指南:
一、安装python-docx
库
首先需安装该库,可通过命令行执行:
pip install python-docx
二、基础操作
-
创建新文档
from docx import Document doc = Document() doc.add_heading('文档标题', level=1) doc.add_paragraph('这是正文内容。') doc.save('example.docx')
该代码创建了一个包含标题和段落的空白文档,并保存为
example.docx
。 -
添加段落与样式
doc.add_heading('一级标题', level=1) doc.add_paragraph('这是普通段落。', style='Heading 2') doc.add_paragraph('这是带斜体的段落。', runs=[doc.add_run('斜体文本')])
支持自定义样式,如
Heading 2
、Normal
等。
三、高级功能
-
批量处理
-
文本替换 :遍历目录下所有
.docx
文件,批量替换指定文本import os from docx import Document batch_replace(directory, old_text, new_text): for filename in os.listdir(directory): if filename.endswith('.docx'): doc = Document(os.path.join(directory, filename)) for paragraph in doc.paragraphs: for run in paragraph.runs: if old_text in run.text: run.text = run.text.replace(old_text, new_text) doc.save(os.path.join(directory, filename))
-
格式统一 :批量修改字体、字号等格式
from docx import Document from docx.shared import Pt, RGBColor def batch_format(directory, font='微软雅黑', size=12): for filename in os.listdir(directory): if filename.endswith('.docx'): doc = Document(os.path.join(directory, filename)) for paragraph in doc.paragraphs: for run in paragraph.runs: run.font.name = font run.font.size = Pt(size) doc.save(os.path.join(directory, filename))
-
-
复杂结构编辑
-
添加表格:
table = doc.add_table(rows=3, cols=2) for i in range(3): for j in range(2): cell = table.cell(i, j) cell.text = f"行{i+1}列{j+1}"
-
插入图片:
from docx import Document from docx.shared import Inches doc = Document() doc.add_heading('带图片的文档') img = doc.add_picture('example.png', width=Inches(4)) doc.save('image_document.docx')
-
四、注意事项
-
兼容性 :仅支持
.docx
格式,如需处理.xls
等旧格式文件,需使用xlrd
、openpyxl
等库。 -
错误处理 :建议添加异常处理机制,避免因文件损坏或权限问题导致脚本崩溃。
通过以上功能,Python可高效完成Word文档的自动化编辑任务,显著提升办公效率。