diff --git a/OfficeAutomation/Task03 python与word.md b/OfficeAutomation/Task03 python与word.md index e0e3d58..d2ad37d 100644 --- a/OfficeAutomation/Task03 python与word.md +++ b/OfficeAutomation/Task03 python与word.md @@ -1,22 +1,23 @@ -# python自动化之word操作 +# Task 03 python与word -- [python自动化之word操作](#python自动化之word操作) - - [1.课前准备](#1课前准备) - - [2.知识要点](#2知识要点) - - [2.1初步认识docx](#21初步认识docx) - - [2.1.1新建空白word并插入文字](#211新建空白word并插入文字) - - [2.2python自动化之word操作](#22python自动化之word操作) - - [2.2.1整体页面结构介绍](#221整体页面结构介绍) - - [2.2.2字体设置](#222字体设置) - - [2.2.3插入图片与表格](#223插入图片与表格) - - [2.2.4设置页眉页脚](#224设置页眉页脚) - - [2.2.5代码延伸](#225代码延伸) - - [3.项目实践](#3项目实践) - - [3.1需求](#31需求) - - [3.2需求分析](#32需求分析) - - [3.3代码](#33代码) - - [4.后记](#4后记) -## 1.课前准备 +- [Task 03 python与word](#task-03-python与word) + - [3.0 课前准备](#30-课前准备) + - [3.1.知识要点](#31知识要点) + - [3.1.初步认识docx](#31初步认识docx) + - [3.1.1 整体页面结构介绍](#311-整体页面结构介绍) + - [3.1.2字体设置](#312字体设置) + - [3.1.3插入图片与表格](#313插入图片与表格) + - [3.1.4设置页眉页脚](#314设置页眉页脚) + - [3.1.5代码延伸](#315代码延伸) + - [3.2项目实践](#32项目实践) + - [3.2.1需求](#321需求) + - [3.2.2需求分析](#322需求分析) + - [3.2.3代码](#323代码) + - [3.3后记](#33后记) + + + +## 3.0 课前准备 > python 处理 Word 需要用到 python-docx 库,终端执行如下安装命令: @@ -32,21 +33,22 @@ conda install python-docx -## 2.知识要点 +## 3.1.知识要点 + + 项目难度:⭐ > 说明: +> > 1. 通过小试牛刀初步认识docx,然后系统学习python对word的操作; > 2. 预估每个知识点需要讲解的时间; > 3. 研发逻辑就是讲解逻辑,一般从上往下,遵循:`What - Why - How` 或 `Why - What - How` 思路; -### 2.1初步认识docx +### 3.1.初步认识docx 相信同学们都进行过word的操作。话不多说,直接上python对word简单操作的代码,先有个直观的感觉,然后再系统学习! -#### 2.1.1新建空白word并插入文字 - ```python # 导入库 from docx import Document @@ -82,9 +84,7 @@ paragraph_3 = doc_1.add_paragraph('这是第二页第一段文字!') doc_1.save('doc_1.docx') ``` - - -### 2.2python自动化之word操作 +--- 上节只是小试牛刀一下,接下来我们系统地学习python自动化之word操作。 @@ -101,7 +101,7 @@ doc_1.save('doc_1.docx') 在**`python-docx`**中,**`run`**是最基本的单位,每个**`run`**对象内的文本样式都是一致的,也就是说,在从**`docx`**文件生成文档对象时,**`python-docx`**会根据样式的变化来将文本切分为一个个的`Run`对象。 -#### 2.2.1整体页面结构介绍 +#### 3.1.1 整体页面结构介绍 我们以一个小案例为主线把文档,段落和文字块串一下: @@ -152,9 +152,10 @@ r_1.font.color.rgb =RGBColor(255,0,0) #颜色 # 保存文件(当前目录下) doc_1.save('周杰伦.docx') ``` + 通过上例我们可以看到,最小的操作对象为文字块,通过run的指定进行操作。比如字号,颜色等;而再上一个层级--段落是的格式是通过paragraph_format进行设置; -#### 2.2.2字体设置 +#### 3.1.2字体设置 通过(1),同学们已经注意到,字体的设置是全局变量。如果我想在不同的部分进行不同字体的设置,那该怎么办呢?这就需要在应用前操作设置一下。 @@ -223,7 +224,7 @@ doc.save('字体设置2.docx') 我们很容易地看出来,字体设置1.py与字体设置2.py的区别在于是否为同一段落,同时字体设置2.py中自定义了一个函数。同学们可以在实际工作中看具体场景进行选择。 -#### 2.2.3插入图片与表格 +#### 3.1.3插入图片与表格 ```python #导入库 @@ -253,7 +254,7 @@ doc_1.save('周杰伦为营口加油.docx') ``` -#### 2.2.4设置页眉页脚 +#### 3.1.4设置页眉页脚 在python-docx包中则要使用节(section)中的页眉(header)和页脚(footer)对象来具体设置。 @@ -304,7 +305,7 @@ document.save('页眉页脚1.docx') # 保存文档 ![](.\图片\页眉页脚设置.png) -#### 2.2.5代码延伸 +#### 3.1.5代码延伸 ```python '''对齐设置''' @@ -346,9 +347,11 @@ from docx.shared import RGBColor,Pt #underline :下划线 ``` -## 3.项目实践 +## 3.2项目实践 -### 3.1需求 + 项目难度:⭐ ⭐ ⭐ + +### 3.2.1需求 > 你是公司的行政人员,对合作伙伴进行邀请,参加公司的会议; > @@ -364,14 +367,14 @@ from docx.shared import RGBColor,Pt -### 3.2需求分析 +### 3.2.2需求分析 > 逻辑相对简单: > > - 获取 Excel 文件中每一行的信息,提取 参数;结合获取的参数设计邀请函样式并输出 > - 设计word段落及字体等样式。 -### 3.3代码 +### 3.2.3代码 ```python # 导入库 @@ -454,7 +457,7 @@ for row in sheet.rows: n = n + 1 ``` -### 4.后记 +### 3.3后记 > 本案例也可适用于批量生产固定格式的word,如工资条,通知单等,面对这种相似且重复的任务,python的自动化运行能大幅提升当前的工作效率。