一、Python操作Word文档的核心库
Python中可以读取word文件的库有python-docx和pywin32。python-docx可以跨平台,只能处理 .docx格式,不能处理.doc格式。处理.doc文件需先用pywin32转换为.docx格式。pywin32仅限 windows 平台,.doc和.docx都能处理还可以将.doc格式另存为.docx格式。扩展库:docx-mailmerge(邮件合并)、pypiwin32(COM接口)。
1. 核心库对比
Python操作Word文档主要依赖两个核心库:
库名 |
功能 |
跨平台 |
支持格式 |
典型应用场景 |
python-docx |
主要操作.docx文件 |
✔️ |
.docx |
文档内容操作、格式设置 |
pywin32 |
操作Word应用程序 |
Windows |
.doc/.docx |
文档转换、打印、高级格式操作 |
docx-mailmerge |
模板批量生成文档 |
✔️ |
.docx |
邮件合并、批量信函生成 |
2. 文档结构层次
Python可以利用python-docx模块处理word文档,处理方式是面向对象的,就是把word文档中的段落、文本、字体等都看做对象,对对象进行处理就是对word文档的内容处理。Python读取Word文档内容,每进行一个操作,注意必须保存一下。
Word文档采用面向对象的结构设计:一篇文档也就是Document()对象,第一要分成不同的节,也就是由sections对象控制,然后每节中又分成不同的段落paragraphs对象,每段又由不同的块run对象组成,针对不同的节(section)可以设置页面的一些属性,针对不同的段落(paragraph),可以设置间距和缩进、换行和分页等,针对不同块(run)可以设置字体的字型、颜色、大小等。
Document (文档)
├── Section (节) – 控制页面格式
│ ├── Paragraph (段落) – 文本块
│ │ ├── Run (文字块) – 统一格式的文本片段
│ ├── Table (表格)
│ │ ├── Row (行)
│ │ │ ├── Cell (单元格)
│ ├── Image (图片)
核心对象说明
1. Document对象:表明整个Word文档
2. Section对象:文档的分节,控制页面属性
3. Paragraph对象:文档中的段落,text属性
4. Run对象:段落内具有一样格式的文本块,text属性
5. Table对象:文档中的表格
二、python-docx库安装与基础操作
1.安装与导入
pip install python-docx
# 常用导入语句
from docx import Document(文档读写)
from docx.shared import Pt,Cm,Inches (字体大小,不必定全用到)
from docx.oxml.ns import qn(设置字体格式,分栏等用到)
from docx.shared import RGBColor (设置字体颜色)
from docx.enum.text import WD_ALIGN_PARAGRAPH (设置对其方式)
from docx.enum.section import WD_ORIENTATION (纸张方向用到)
2.创建与保存文档
只要不指定路径,就默认为创建新Word文件。对文档的修改和创建都要保存。
# 创建新文档
doc = Document()
# 保存文档
doc.save(‘new_document.docx’)
# 打开现有文档
existing_doc = Document(‘existing.docx’)
- 最新
- 最热
只看作者