前言
办公自动化是指利用现代化设备和技术,代替办公人员的部分手动或重复性业务活动,优质而高效地处理办公事务,实现对信息的高效利用,进而提高工作效率,实现辅助决策的目的。办公自动化通常包括利用Excel、Word、PowerPoint等工具制作报表、文稿,以及收发邮件和处理文件等工作,虽然微软Office套件提供了编程接口来实现办公自动化,但是由于其具有占用资源大等缺点,使用场合十分有限。
目前,在办公自动化的研究热潮中,如何提高工作效率也成为一个具有挑战性的任务。Python在办公自动化领域的应用越来越受欢迎,其可以实现文件的批量生成和处理。本书基于Python 3.10版本进行编写,系统地介绍基于Python的办公自动化技术。
本书将深入地介绍Python在办公自动化方面的应用:包括Python编程基础篇、Excel数据自动化处理篇、Word文本自动化处理篇、幻灯片自动化制作篇、邮件自动化处理篇、文件自动化处理篇。
本书内容结构
第1篇:Python编程基础篇
第1章介绍Python软件的特点与优势,以及如何快速搭建Python 3.10版本的开发环境。
第2章介绍Python编程基础,包括数据类型、基础语法、常用高阶函数和编程技巧。
第3章介绍利用Python进行数据准备,包括数据的读取、数据的索引、数据的切片、数据的删除、数据的排序、数据的聚合、数据的透视、数据的合并等。
第2篇:Excel数据自动化处理篇
第4章介绍利用Python进行数据处理,包括重复值的处理、缺失值的处理、异常值的处理等。
第5章介绍利用Python进行数据分析,包括描述性分析、相关分析、线性回归分析。
第6章介绍利用Python进行数据可视化,包括对比型、趋势型、比例型、分布型等基本图表的绘制方法。
第3篇:Word文本自动化处理篇
第7章介绍文本自动化处理,包括应用场景及环境搭建、Python-docx库案例演示。
第8章介绍利用Python进行文本自动化处理,包括使用Python-docx库自动化处理对页眉、样式、文本等进行处理。
第9章介绍利用Python制作企业运营月报Word版,包括使用Python-docx库整理及清洗门店销售数据、运营数据的可视化分析、批量制作企业运营月报等。
第4篇:幻灯片自动化制作篇
第10章介绍幻灯片自动化制作,包括应用场景及环境搭建、Python-pptx库案例演示。
第11章介绍利用Python进行幻灯片自动化制作,包括自动化制作文本、图形、表格和形状等内容。
第12章介绍利用Python制作企业运营月报幻灯片,包括制作商品销售分析报告、制作客户留存分析报告。
第5篇:邮件自动化处理篇
第13章介绍利用Python批量发送电子邮件,包括邮件服务器概述、发送电子邮件等。
第14章介绍利用Python获取电子邮件,包括获取邮件内容、解析邮件内容等。
第15章介绍利用Python自动发送电商会员邮件,包括电商会员邮件营销、提取未付费的会员数据、发送定制邮件提醒和发送定制短信提醒等。
第6篇:文件自动化处理篇
第16章介绍利用Python进行文件自动化处理,包括文件和文件夹的基本操作、文件的解压缩操作、显示目录树下的文件名称、修改目录树下的文件名称、合并目录树下的数据文件。
本书特色定位
(1)内容新颖,讲解详细。
本书是一本内容新颖的Python技术书,详细介绍了基于Python的办公自动化技术,对于初学者帮助较大。书中详细介绍了大量办公自动化案例,便于读者练习和实践。
(2)由浅入深,循序渐进。
本书以案例为主线,既包括软件应用与操作的方法和技巧,又融入了办公自动化的案例实战,使读者通过对本书的学习,能够轻松、快速地掌握办公自动化技术。
(3)案例丰富,高效学习。
本书基于Python 3.10版本进行讲解,同时为了使读者能够快速提高办公自动化的综合能力,本书中的案例都尽可能地贴近实际工作。
本书读者对象
本书的内容和案例适合互联网、银行、咨询、能源等行业的数据分析人员阅读,可以作为高等院校相关专业学生的参考用书,也可以作为职场人员学习Python办公自动化的自学用书。
由于作者水平所限,书中难免存在一些疏漏和不足,希望同行和读者给予批评与指正。
作 者
目录
第1篇 Python编程基础篇
第1章 初识Python语言及开发环境搭建 1
1.1 Python及其优势 2
1.1.1 Python的历史 2
1.1.2 Python的特点 2
1.1.3 Python的优势 3
1.2 搭建Python开发环境 3
1.2.1 安装Anaconda 3
1.2.2 安装Jupyter库 5
1.2.3 库管理工具pip 7
1.3 上机实践题 8
第2章 Python编程基础 9
2.1 Python数据类型 10
2.1.1 数值(Number) 10
2.1.2 字符串(String) 11
2.1.3 列表(List) 13
2.1.4 元组(Tuple) 15
2.1.5 集合(Set) 16
2.1.6 字典(Dictionary) 18
2.2 Python基础语法 20
2.2.1 基础语法:行与缩进 20
2.2.2 条件语句:if及if嵌套 21
2.2.3 循环语句:while与for 22
2.2.4 格式化:format()函数 25
2.3 Python常用高阶函数 26
2.3.1 map()函数:数组迭代 27
2.3.2 reduce()函数:序列累积 28
2.3.3 filter()函数:数值过滤 28
2.3.4 sorted()函数:列表排序 29
2.4 Python编程技巧 30
2.4.1 Tab键自动补全程序 30
2.4.2 多个变量的数值交换 31
2.4.3 列表解析式筛选元素 32
2.4.4 遍历函数 33
2.4.5 split()函数:序列解包 34
2.5 上机实践题 35
第3章 利用Python进行数据准备 36
3.1 数据的读取 37
3.1.1 读取本地离线数据 37
3.1.2 读取Web在线数据 39
3.1.3 读取常用数据库中的数据 39
3.2 数据的索引 41
3.2.1 set_index()函数:创建索引 41
3.2.2 unstack()函数:重构索引 43
3.2.3 swaplevel()函数:调整索引 44
3.3 数据的切片 44
3.3.1 提取一列或多列数据 44
3.3.2 提取一行或多行数据 46
3.3.3 提取指定区域的数据 46
3.4 数据的删除 47
3.4.1 删除一行或多行数据 47
3.4.2 删除一列或多列数据 48
3.4.3 删除指定的列表对象 49
3.5 数据的排序 50
3.5.1 按行索引对数据进行排序 50
3.5.2 按列索引对数据进行排序 51
3.5.3 按一列或多列对数据进行排序 51
3.5.4 按一行或多行对数据进行排序 52
3.6 数据的聚合 52
3.6.1 level参数:指定列聚合数据 52
3.6.2 groupby()函数:分组聚合 53
3.6.3 agg()函数:自定义聚合 54
3.7 数据的透视 55
3.7.1 pivot_table()函数:数据透视 55
3.7.2 crosstab()函数:数据交叉 58
3.8 数据的合并 59
3.8.1 merge()函数:横向合并 59
3.8.2 concat()函数:纵向合并 62
3.9 工作表合并与拆分 63
3.9.1 单个工作簿多个工作表合并 63
3.9.2 多个工作簿单个工作表合并 65
3.9.3 工作表按某一列拆分数据 66
3.10 上机实践题 67
第2篇 Excel数据自动化处理篇
第4章 利用Python进行数据处理 69
4.1 重复值的处理 70
4.1.1 Excel重复值的处理 70
4.1.2 Python重复值的检测 70
4.1.3 Python重复值的处理 71
4.2 缺失值的处理 73
4.2.1 Excel缺失值的处理 73
4.2.2 Python缺失值的检测 73
4.2.3 Python缺失值的处理 74
4.3 异常值的处理 77
4.3.1 Excel异常值的处理 77
4.3.2 Python异常值的检测 77
4.3.3 使用replace()函数处理异常值 78
4.4 Python处理金融数据案例实战 80
4.4.1 读取上证指数股票数据 80
4.4.2 提取2020年8月数据 81
4.4.3 填充非交易日缺失数据 82
4.4.4 使用diff()函数计算数据偏移 83
4.5 上机实践题 84
第5章 利用Python进行数据分析 85
5.1 Python描述性分析 86
5.1.1 平均数及案例 87
5.1.2 中位数及案例 89
5.1.3 方差及案例 89
5.1.4 标准差及案例 90
5.1.5 百分位数及案例 91
5.1.6 变异系数及案例 92
5.1.7 偏度及案例 93
5.1.8 峰度及案例 93
5.2 Python相关分析 94
5.2.1 皮尔逊相关系数 95
5.2.2 斯皮尔曼相关系数 96
5.2.3 肯德尔相关系数 97
5.3 Python线性回归分析 99
5.3.1 线性回归模型简介 100
5.3.2 线性回归模型建模 102
5.3.3 线性回归模型案例 103
5.4 上机实践题 107
第6章 利用Python进行数据可视化 108
6.1 绘制对比型图表及案例 109
6.1.1 绘制条形图 109
6.1.2 绘制气泡图 110
6.2 绘制趋势型图表及案例 111
6.2.1 绘制折线图 112
6.2.2 绘制面积图 113
6.3 绘制比例型图表及案例 114
6.3.1 绘制饼图 115
6.3.2 绘制环形图 117
6.4 绘制分布型图表及案例 118
6.4.1 绘制散点图 119
6.4.2 绘制箱型图 120
6.5 绘制其他类型图表及案例 122
6.5.1 绘制树状图 122
6.5.2 绘制K线图 124
6.6 上机实践题 126
第3篇 Word文本自动化处理篇
第7章 文本自动化处理 129
7.1 应用场景及环境搭建 130
7.1.1 文本自动化应用场景 130
7.1.2 文本自动化环境搭建 130
7.2 Python-docx库案例演示 131
7.2.1 document()函数:打开文档 132
7.2.2 add_heading()函数:添加标题 133
7.2.3 add_paragraph()函数:添加段落 133
7.2.4 add_picture()函数:添加图片 134
7.2.5 add_table()函数:添加表格 135
7.2.6 add_paragraph()函数:设置段落样式 136
7.2.7 add_run()函数:设置字符样式 137
7.2.8 add_page_break()函数:添加分页符 138
7.3 案例演示完整代码 138
7.4 上机实践题 140
第8章 利用Python进行文本自动化处理 141
8.1 自动化处理页眉 142
8.1.1 访问页眉 142
8.1.2 添加页眉定义 142
8.1.3 添加简单页眉 143
8.1.4 添加分区页眉 143
8.1.5 移除页眉 144
8.2 自动化处理样式 144
8.2.1 样式对象简介 144
8.2.2 访问样式 145
8.2.3 应用样式 145
8.2.4 添加或删除样式 147
8.2.5 定义字符格式 147
8.2.6 定义段落格式 148
8.2.7 使用段落特定的样式属性 148
8.2.8 控制样式的显示方式 149
8.2.9 处理潜在样式 149
8.3 自动化处理文本 150
8.3.1 设置段落文本对齐 150
8.3.2 设置段落缩进 151
8.3.3 设置制表位 152
8.3.4 设置段落间距 152
8.3.5 设置行间距 153
8.3.6 设置分页属性 153
8.3.7 设置字体和字号 154
8.3.8 设置字体颜色 154
8.4 自动化处理节 155
8.4.1 节对象简介 155
8.4.2 访问节和添加节 156
8.4.3 节的主要属性 157
8.5 上机实践题 159
第9章 利用Python制作企业运营月报Word版 160
9.1 整理及清洗门店销售数据 161
9.1.1 合并各门店的销售数据 161
9.1.2 异常数据的检查和处理 161
9.1.3 缺失数据的检测与处理 162
9.2 运营数据的可视化分析 163
9.2.1 门店运营数据的可视化分析 163
9.2.2 地区销售数据的可视化分析 166
9.2.3 客户购买数据的可视化分析 169
9.3 批量制作企业运营月报 172
9.3.1 制作门店运营分析报告 172
9.3.2 制作地区销售分析报告 173
9.3.3 制作客户消费分析报告 175
9.4 企业运营月报Word版案例完整代码 177
9.5 上机实践题 179
第4篇 幻灯片自动化制作篇
第10章 幻灯片自动化制作 181
10.1 应用场景及环境搭建 182
10.1.1 幻灯片自动化应用场景 182
10.1.2 幻灯片自动化环境搭建 182
10.2 Python-pptx库案例演示 183
10.2.1 presentation()函数:打开演示文稿 183
10.2.2 add_slide()函数:添加幻灯片 183
10.2.3 title_shape()函数:添加主标题和副标题 185
10.2.4 add_paragraph()函数:添加段落 185
10.2.5 add_chart()函数:插入图表 186
10.3 案例演示完整代码 186
10.4 上机实践题 187
第11章 利用Python进行幻灯片自动化制作 188
11.1 自动化制作文本 189
11.1.1 添加普通文本 189
11.1.2 设置文本加粗 189
11.1.3 设置文本字号 190
11.1.4 设置文本倾斜 191
11.1.5 设置文本下画线 192
11.1.6 设置文本颜色 193
11.2 自动化制作图形 194
11.2.1 添加简单图形 194
11.2.2 添加复杂图形 195
11.2.3 添加图表图例 196
11.2.4 添加数据标签 198
11.2.5 自定义数据标签 199
11.2.6 添加复合图形 201
11.3 自动化制作表格 205
11.3.1 添加自定义表格 205
11.3.2 设置行高和列宽 205
11.3.3 合并表格首行 206
11.3.4 设置表格标题 208
11.3.5 添加变量数据 209
11.3.6 修改表格样式 211
11.4 自动化制作形状 213
11.4.1 形状对象简介 213
11.4.2 添加单个形状 214
11.4.3 添加多个相同形状 215
11.4.4 添加多个不同形状 216
11.5 上机实践题 217
第12章 利用Python制作企业运营月报幻灯片 218
12.1 制作商品销售分析报告 219
12.1.1 制作销售额分析 219
12.1.2 制作订单量分析 220
12.1.3 制作退单量分析 222
12.2 制作客户留存分析报告 224
12.2.1 制作新增客户数量 224
12.2.2 制作客户留存率 225
12.2.3 制作客户流失原因 227
12.3 企业运营月报幻灯片案例完整代码 229
12.4 上机实践题 235
第5篇 邮件自动化处理篇
第13章 利用Python批量发送电子邮件 237
13.1 邮件服务器概述 238
13.1.1 邮件服务器原理 238
13.1.2 开启126邮箱相关服务 239
13.1.3 开启QQ邮箱相关服务 240
13.1.4 开启Sina邮箱相关服务 240
13.1.5 开启Hotmail邮箱相关服务 241
13.2 发送电子邮件 241
13.2.1 SMTP()方法:连接邮件服务器 241
13.2.2 ehlo()方法:登录邮件服务器 242
13.2.3 sendmail()方法:发送邮件 243
13.3 发送电子邮件案例 243
13.4 上机实践题 244
第14章 利用Python获取电子邮件 245
14.1 获取邮件内容 246
14.1.1 通过POP3协议连接邮件服务器 246
14.1.2 通过POP3协议下载邮件 247
14.2 解析邮件内容 249
14.2.1 解析邮件正文 249
14.2.2 转换邮件编码 250
14.3 获取邮件小结 250
14.3.1 获取126邮箱中的邮件 251
14.3.2 获取QQ邮箱中的邮件 253
14.3.3 获取Sina邮箱中的邮件 256
14.3.4 获取Hotmail邮箱中的邮件 259
14.4 上机实践题 262
第15章 利用Python自动发送电商会员邮件 263
15.1 电商会员邮件营销 264
15.1.1 会员邮件营销 264
15.1.2 提高邮件的发送率 264
15.2 提取未付费的会员数据 264
15.2.1 整理电商会员数据 264
15.2.2 读取未付费会员的信息 265
15.3 发送定制邮件提醒 266
15.3.1 创建SMTP对象 266
15.3.2 发送定制邮件信息 266
15.4 发送定制短信提醒 268
15.4.1 注册Twilio账号 268
15.4.2 发送定制短信 269
15.5 上机实践题 270
第6篇 文件自动化处理篇
第16章 利用Python进行文件自动化处理 271
16.1 文件和文件夹的基础操作 272
16.1.1 复制文件和文件夹 272
16.1.2 移动文件和文件夹 273
16.1.3 删除文件和文件夹 274
16.2 文件的解压缩操作 274
16.2.1 读取ZIP文件 274
16.2.2 解压缩ZIP文件 275
16.2.3 创建ZIP文件 276
16.3 显示目录树下的文件名称 276
16.3.1 显示指定目录树下文件名称 277
16.3.2 显示目录树下文件及子文件名称 277
16.4 修改目录树下的文件名称 278
16.4.1 修改所有类型文件名称 278
16.4.2 修改指定类型文件名称 279
16.5 合并目录树下的数据文件 280
16.5.1 合并所有类型文件中的数据 280
16.5.2 合并指定类型文件中的数据 282
16.6 上机实践题 282
附录A 安装Python 3.10版本及第三方库 283
附录B Python常用的第三方工具包简介 286
B.1 数据分析类包 286
B.2 数据可视化类包 287
B.3 机器学习类包 288