我的知识记录

Python python-docx生成Word文档教程

用Python的python-docx库从零创建Word文档,添加段落、标题、加粗斜体等格式,生成可直接打开的.docx文件,适合办公自动化批量出文档场景。

场景痛点

工作中经常需要从零写一份Word文档,比如通知、报告、方案初稿。手动打开Word、调字体、排版、复制粘贴,一份文档要折腾十几分钟。如果还要按模板批量出几十份,重复劳动量更大。用python-docx可以用代码直接生成.docx文件,段落、标题、字体一步到位,生成速度秒级。

用到的库

pip install python-docx

完整代码

# 导入python-docx库
from docx import Document
from docx.shared import Pt, RGBColor
from docx.enum.text import WD_ALIGN_PARAGRAPH

def create_word_document():
# 创建一个空白文档对象
doc = Document()

# 添加一级标题
doc.add_heading('Python自动生成Word文档示例', level=1)

# 添加普通段落
p1 = doc.add_paragraph('这是一段用Python自动生成的正文内容。')
p1.add_run('这段文字后面追加了一句话。')

# 添加带格式的段落:加粗、字号、颜色
p2 = doc.add_paragraph()
run = p2.add_run('重点内容:本段落加粗,字号14,红色。')
run.bold = True
run.font.size = Pt(14)
run.font.color.rgb = RGBColor(255, 0, 0)

# 添加二级标题
doc.add_heading('二级标题:使用说明', level=2)

# 添加项目符号列表
doc.add_paragraph('第一步:安装python-docx库', style='List Bullet')
doc.add_paragraph('第二步:编写生成代码', style='List Bullet')
doc.add_paragraph('第三步:运行脚本输出docx文件', style='List Bullet')

# 添加居中对齐的段落
p3 = doc.add_paragraph('这段文字居中对齐。')
p3.alignment = WD_ALIGN_PARAGRAPH.CENTER

# 保存文档
doc.save('demo.docx')
print('文档已生成:demo.docx')

if __name__ == '__main__':
create_word_document()

代码讲解

  • Document() 创建一个空白Word文档对象,相当于打开了一个新建的.docx。
  • add_heading(text, level=1) 添加标题,level取值1到9,对应Word里的标题1到标题9。
  • add_paragraph(text) 添加一个普通段落,返回Paragraph对象,可以继续用add_run()追加文字片段。
  • run.boldrun.font.sizerun.font.color.rgb分别控制加粗、字号(Pt单位)、字体颜色(RGBColor)。
  • style='List Bullet'让段落变成项目符号列表样式。
  • doc.save('demo.docx')把文档保存到当前目录,文件名可以写绝对路径。

运行结果

运行脚本后在当前目录生成demo.docx文件,用Word或WPS打开可以看到一级标题、正文、红色加粗重点、二级标题、项目符号列表、居中段落,格式完整可编辑。

注意事项

  • python-docx只支持.docx格式,不支持老版本.doc,老文件需要先用Word另存为docx。
  • 中文字体需要单独设置run.font.namerPr的eastAsia属性才能生效,英文设置对中文无效。
  • 保存路径如果包含中文,Windows下建议用绝对路径并确保目录存在。

Python python-docx生成Word文档教程

标签:

更新时间:2026-09-15 08:59:38

上一篇:Python读取Word表格数据方法

下一篇:Python批量替换多个Word里的关键词教程