Python自动化办公应用学习笔记45—Word文档自动化处理1

一、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

邮件合并、批量信函生成

Python自动化办公应用学习笔记45—Word文档自动化处理1

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自动化办公应用学习笔记45—Word文档自动化处理1

二、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’)

Python自动化办公应用学习笔记45—Word文档自动化处理1

© 版权声明
THE END
如果内容对您有所帮助,就支持一下吧!
点赞0 分享
评论 共4条

请登录后发表评论