Update Task03 python与word.md

This commit is contained in:
Muxiaoxiong
2021-11-10 14:02:14 +08:00
committed by GitHub
parent baf4085dad
commit 0589e144bf

View File

@@ -1,22 +1,23 @@
# python自动化之word操作
# Task 03 pythonword
- [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 pythonword](#task-03-pythonword)
- [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的自动化运行能大幅提升当前的工作效率。