Python使用python-docx库读写Word文档完整指南

一只小鹿
一只小鹿
发布时间:2026-10-14 | 5人浏览过
原创

本文详细介绍如何使用Python的python-docx库进行Word文档的读写操作。涵盖环境安装、文档创建与保存、段落与表格处理、样式自定义及字体设置等核心功能,提供具体代码示例,帮助开发者快速掌握Word文档自动化处理技能。

python-docx库安装与环境准备

在Python中处理Word文档,可以使用现成的第三方库。本文推荐使用的是python-docx库,开发者可以通过执行pip install python-docx命令来完成安装。

需要注意的是,处理PPT和Excel文件也有类似的库,它们通常直接读取文件内部的XML数据。然而,旧版的doc格式并非基于XML结构,因此需要寻找其他专门的库来处理doc格式文件。

该库的官方帮助文档地址为:http://python-docx.readthedocs.org/en/latest/

文档创建、打开与保存

第一步是新建或打开Word文档。这一操作相对简单,只需使用docx模块中的Document类。如果调用时指定了文件路径,程序将打开该现有文档;若未指定路径,则创建一个新的空白文档。


#coding:utf-8
import docx
 
#新建文档
doc_new = docx.Document()
 
#读取文档
doc = docx.Document(ur'C:\1.docx')

第二步是保存文件。既然可以打开文档,自然也需要保存功能。通过调用Document类的save方法,并传入保存的文件路径或文件流作为参数,即可完成保存操作。通常情况下,直接指定文件路径即可满足需求。


doc.save(path_or_stream)

Word文档对象集合解析

第三步是了解对象集合。python-docx库封装了Word文档中的各类相关对象集合,方便开发者进行访问和操作。


doc.paragraphs #段落集合
doc.tables #表格集合
doc.sections #节 集合
doc.styles #样式集合
doc.inline_shapes #内置图形 等等...

段落插入与样式管理

第四步是插入段落。段落是Word文档中最基础的对象类型之一,通过代码可以向文档中添加新的段落内容。


doc.add_paragraph(u'第一段',style=None) #插入一个段落,文本为“第一段”
#默认是不应用样式,这里也可以不写style参数,或者指定一个段落样式
doc.add_paragraph(u'第二段',style='Heading 2')
 
#这些样式都是word默认带有的样式,可以直接罗列出来有哪些段落样式
print [s.name for s in doc.styles if s.type==1]

第五步是新增样式。官方帮助文档中对此部分的描述较为简略,且为英文内容。基于实际项目需求,经过摸索总结出以下使用新增样式的方法。


#coding:utf-8
from docx import Document
from docx.shared import RGBColor #这个是docx的颜色类
 
#新建文档
doc = Document()
 
#新增样式(第一个参数是样式名称,第二个参数是样式类型:1代表段落;2代表字符;3代表表格)
style = doc.styles.add_style('style name 1', 2)
 
#设置具体样式(修改样式字体为蓝色,当然还可以修改其他的,大家自己尝试)
style.font.color.rgb = RGBColor(0x0, 0x0, 0xff)

字符样式应用与字体设置

第六步是应用字符样式。字符内容通常包含在段落中,可以通过特定方法向段落追加文字,并同时设置字符的样式效果。


#插入一个空白段落
p = doc.add_paragraph('')
p.add_run('123', style="Heading 1 Char")
p.add_run('456')
p.add_run('789', style="Heading 2 Char")
 
#这样一个段落就应用了两个字符样式,中间“456”就没应用样式
print p.text #输出结果是u'123456789' 也还是连续的

第七步是设置字体属性。除了通过预设样式来格式化文本外,也可以直接对特定文字进行字体属性的设置,无需依赖完整的样式定义。


p = doc.add_paragraph('')
r = p.add_run('123')
r.font.bold = True #加粗
r.font.italic = True #倾斜 等等...

表格操作与总结

第八步是表格操作。表格是Word文档中另一种常用的对象类型,经常需要在程序中进行创建、读取或修改。


#新建一个2x3的表格,style可以不写
table=doc.add_table(rows=2,cols=3,style=None)
 
#可以用table 的rows和columns得到这个表格的行数和列数
print len(table.rows)
print len(table.columns)
 
#遍历表格
for row in table.rows:
 row.cells[0].text = '1'
 #print row.cells[0].text
 
#新增行或列
table.add_row()
table.add_column()

Word文档的常见读写操作大致包含上述内容。开发者可以查阅官方帮助文档,或者利用Python内置的dir和help函数来查看具体对象的属性、方法及帮助信息。

以上就是Python读写docx文件方法的完整介绍,希望能为读者提供有效的参考。欢迎大家支持相关技术社区,共同交流进步。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表