“入职数据分析师系列”图书的前两本《对比Excel,轻松学习Python 数据分析》和《对比Excel,轻松学习SQL 数据分析》深受读者好评,截至2021 年8 月累计销量近15万册。这本《对比Excel,轻松学习Python 报表自动化》继承了对比学习的特点,帮助职场新人利用Python来实现报表自动化,大幅提升工作效率。
这本《对比Excel,轻松学习Python 报表自动化》继承了对比学习的特点,全书内容围绕Excel 功能区的各个模块,通过对比Excel 的方式来详细讲解每个模块中对应的Python 代码如何实现,轻松、快速地帮助职场人实现报表自动化,提高工作效率。本书主要分为4 个部分:第1 部分介绍Python 基础知识,让读者对Python 中常用的操作和概念有所了解;第2 部分介绍格式相关的设置方法,包括字体设置、条件格式设置等内容;第3 部分介绍各种类型的函数;第4 部分介绍自动化相关的其他技能,比如自动发送邮件、自动打包等操作。
本书适合每天需要做很多报表,希望通过学习报表自动化来提高工作效率的所有读者,包括但不限于分析师、数据运营、财务等人群。
第1 部分 Python 基础
第1 章 认识自动化报表 / 2
1.1 Excel 的基本组成 2
1.2 制作一份自动化报表的流程3
1.3 用Python 操作Excel 的各种库 . 4
第2 章 Python 基础知识 / 5
2.1 Python 是什么5
2.2 Python 的下载与安装. 5
2.2.1 安装教程. 5
2.2.2 IDE 与IDLE . 18
2.3 Jupyter Notebook 介绍 19
2.3.1 新建Jupyter Notebook 文件 19
2.3.2 运行你的第一段代码 20
2.3.3 重命名Jupyter Notebook 文件20
2.3.4 保存Jupyter Notebook 文件 21
2.3.5 导入本地Jupyter Notebook 文件 22
2.3.6 Jupyter Notebook 与Markdown. 23
2.4 基本概念23
2.4.1 数. 23
2.4.2 变量 24
2.4.3 标识符. 25
2.4.4 数据类型25
2.4.5 输出与输出格式设置. 25
2.4.6 缩进与注释 26
2.5 字符串 27
2.5.1 字符串概念27
2.5.2 字符串连接. 27
2.5.3 字符串复制. 28
2.5.4 字符串长度 28
2.5.5 字符串查找28
2.5.6 字符串索引29
2.5.7 字符串分隔30
2.5.8 字符删除 31
2.6 数据结构——列表 31
2.6.1 列表概念31
2.6.2 新建一个列表31
2.6.3 列表复制 32
2.6.4 列表合并. 32
2.6.5 向列表中插入新的元素 33
2.6.6 获取列表中值出现的次数 33
2.6.7 获取列表中值出现的位置 34
2.6.8 获取列表中指定位置的值 34
2.6.9 对列表中的值进行删除35
2.6.10 对列表中的值进行排序35
2.7 数据结构——字典35
2.7.1 字典概念 35
2.7.2 新建一个字典 36
2.7.3 字典的keys()、values()和items()方法36
2.8 数据结构——元组37
2.8.1 元组概念 37
2.8.2 新建一个元组 37
2.8.3 获取元组的长度. 37
2.8.4 获取元组内的元素 37
2.8.5 元组与列表相互转换. 38
2.8.6 zip()函数38
2.9 运算符39
2.9.1 算术运算符. 39
2.9.2 比较运算符 39
2.9.3 逻辑运算符. 40
2.10 循环语句 40
2.10.1 for 循环 . 40
2.10.2 while 循环 40
2.11 条件语句 41
2.11.1 if 条件语句 41
2.11.2 else 语句 43
2.11.3 elif 语句 44
2.12 函数. 45
2.12.1 普通函数 45
2.12.2 匿名函数. 46
2.13 高级特性 47
2.13.1 列表生成式. 47
2.13.2 map()函数 48
2.14 库. 48
2.14.1 安装一个新库 49
2.14.2 卸载一个库. 50
第2 部分 格式设置
第3 章 用Python 对报表进行基本操作 / 52
3.1 打开已有的工作簿 52
3.2 创建新的工作簿 54
3.2.1 在创建工作簿时插入数据 54
3.2.2 对单个单元格赋值. 55
3.2.3 对一行单元格赋值 . 55
3.2.4 对多行进行赋值. 56
3.3 Pandas 与openpyxl 之间的转换 57
3.4 Sheet 相关设置 58
3.4.1 新建一个Sheet58
3.4.2 对已有Sheet 进行设置 61
第4 章 用Python 实现单元格选择和字体设置 / 63
4.1 用Python 选择单元格 63
4.1.1 选择单个单元格. 63
4.1.2 选择多个单元格. 63
4.2 用Python 设置Excel 字体 . 64
4.2.1 基本字体相关设置. 64
4.2.2 单元格填充 68
4.2.3 边框线设置 70
4.2.4 案例:批量设置单元格字体 74
第5 章 用Python 设置Excel 对齐方式 / 76
5.1 设置对齐方式 76
5.2 合并与解除单元格81
5.3 设置合并单元格样式 83
5.4 案例:批量设置单元格对齐方式 83
第6 章 用Python 设置Excel 数字、条件格式 / 86
6.1 用Python 设置Excel 数字格式 . 86
6.2 用Python 设置Excel 条件格式 89
6.2.1 突出显示单元格 . 90
6.2.2 数据条92
6.2.3 色阶 96
6.2.4 图标集 99
第7 章 用Python 设置Excel 单元格 / 105
7.1 插入行或列 105
7.2 删除行或列 107
7.3 行高/列宽的设置 109
7.4 隐藏行或列 110
7.5 案例:批量设置多行/列的行高/列宽 111
第8 章 用Python 对Excel 进行编辑 / 113
8.1 数据排序 113
8.2 数据筛选 114
8.3 数据查找与替换 116
第3 部分 函数
第9 章 用Python 实现Excel 中的函数计算 / 118
9.1 函数中的常见错误 . 118
9.1.1 #DIV/0!错误 . 118
9.1.2 #N/A 错误 . 120
9.1.3 #VALUE!错误 . 124
9.1.4 #NAME?错误 125
9.1.5 #REF!错误125
9.2 逻辑函数 . 126
9.2.1 IF()函数:判断条件是否满足 . 126
9.2.2 AND()函数:判断多个条件是否同时满足129
9.2.3 OR()函数:判断多个条件中是否有其中一个满足 130
9.2.4 IFERROR()函数:对错误值进行处理 132
9.3 文本函数. 132
9.3.1 文本截取. 132
9.3.2 文本合并 138
9.3.3 文本查找与替换 142
9.4 日期与时间函数 . 150
9.4.1 获取当前的日期、时间 150
9.4.2 获取日期和时间中的某部分 152
9.4.3 日期时间的运算——两个日期之间的差值. 165
9.5 查找与引用. 168
9.5.1 VLOOKUP()函数:在多列以及多表中查找数据 168
9.5.2 ROWS()函数:获取区域中的行数 . 170
9.5.3 COLUMNS()函数:获取区域中的列数 . 171
9.6 数学和三角函数 . 172
9.6.1 常规计算函数 172
9.6.2 格式调整函数 . 176
9.6.3 指数与对数函数 . 183
9.7 统计函数 . 187
9.7.1 均值相关 . 187
9.7.2 计数相关. 190
9.7.3 最值函数 . 193
9.7.4 排位相关函数. 196
9.7.5 统计相关函数. 204
9.8 自定义公式 . 206
第4 部分 自动化报表
第10 章 审阅和视图设置 / 210
10.1 新建批注 . 210
10.2 文档保护 212
10.3 冻结窗格 213
第11 章 用Python 绘制Excel 图表 / 216
11.1 图表基本组成元素216
11.2 图表绘制基本流程218
11.3 图表基本设置 220
11.3.1 图表标题 220
11.3.2 坐标轴标题220
11.3.3 图例设置 . 221
11.4 图表绘制. 221
11.4.1 折线图 221
11.4.2 柱状图. 221
11.4.3 面积图223
11.4.4 散点图 . 224
11.4.5 气泡图 226
11.4.6 图表布局. 228
11.5 如何将图片插入Excel 中 229
第12 章 用Python 对Excel 文件进行批量操作 / 231
12.1 OS 库介绍. 231
12.2 OS 库基本操作. 231
12.2.1 获取当前工作路径 . 231
12.2.2 获取一个文件夹下的所有文件名 231
12.2.3 对文件进行重命名232
12.2.4 创建一个文件夹. 232
12.2.5 删除一个文件夹 . 233
12.2.6 删除一个文件 233
12.3 批量操作 . 233
12.3.1 批量读取一个文件夹下的多个文件 233
12.3.2 批量创建文件夹 234
12.3.3 批量重命名文件 235
12.4 其他批量操作 236
12.4.1 批量合并多个文件236
12.4.2 将一份文件按照指定列拆分成多个文件237
第13 章 自动发送邮件 / 239
13.1 使用邮箱的第一步 . 239
13.2 一份邮件的组成 . 239
13.3 如何发送邮件. 240
13.4 正式发送一份邮件241
13.5 批量发送邮件. 243
第14 章 将Python 代码转化为可执行的程序 / 245
14.1 安装所需要的Python 库245
14.2 对代码进行打包 246
第15 章 工作中的报表自动化实战 / 249
15.1 当日各项指标的同/环比情况 249
15.2 当日各省份创建订单量情况 253
15.3 最近一段时间创建订单量趋势. 255
15.4 将不同的结果进行合并256
15.4.1 将不同的结果合并到同一个Sheet 中 256
15.4.2 将不同的结果合并到同一工作簿的不同Sheet 中261
这本书对新手特别友好!对大部分新人而言,Python 的使用环境太过模型化,英语界面难以看懂,操作也不直观,而Excel 则是大家经常使用的工具软件。将这二者对比学习,可以极大地提升学习效率,让新人快速进步。报表又是日常数据分析工作的主要部分,能用Python 来实现报表自动化,将大幅提升职场人的工作效率。
——陈老师,公众号“接地气学堂”主理人
随着Python 越来越流行,很多人希望能够掌握这项技能。Python 能做的事情有很多,俊红这本书专注报表自动化这一细分领域。该书围绕报表制作的流程,通过对比Excel 的方式讲解每个环节对应的Python 代码的实现方法,不仅包括Excel 的单元格设置、条件格式设置等基础功能,还包括了批量处理文件和自动发送邮件等高级功能,整本书内容翔实而又全面,推荐给想通过报表自动化提高工作效率的读者。
——崔庆才,微软(中国)工程师、《Python3 网络爬虫开发实战》作者
与数据分析相关的工作中,存在很多重复性的工作,比如常规的日报、周报、月报;也存在很多复杂、耗费时间的工作,比如批量处理CSV、Excel、Word、Web 文件等。能否把这些重复性高、复杂性强的工作交给计算机去做,我们去做一些有价值、提升自己的事情?
随着计算机技术、编程简单化的发展,这个“普遍性”的问题终于迎来了春天,相信这本书能带给你不一样的收获,写得很有实战性,也很适合小白学习,所以不用担心学不会。
——邓凯,数据届大V、爱数圈创始人
此书已是“入职数据分析师系列丛书”第3 本,俊红能够深入浅出地将Python应用于工作的常见场景中,提高工作效率,是对技术大众化应用典型的探索。
——梁勇,公众号“Python 爱好者社区”主理人
本书围绕报表制作的终极目标,从Python 基础知识开始,通过对照大家所熟悉的Excel 操作,比如单元格格式设置、使用各种函数、绘制图表等,由浅入深地介绍了如何使用Python 语言操作,以实现报表处理的自动化。本书将帮助初学者快速掌握Pyhton 语言,利用它来提高报表处理的效率。介绍给希望实现报表自动化的朋友学习本书。
——龙逸凡,畅销书《打造Excel 商务图表达人》作者
作为职场人,特别是每天要和数据打交道的人,经常会遇到一些重复烦琐的工作,如果要彻底摆脱“工具人”的束缚,掌握一门编程语言并熟练运用就显得很有必要,Python 无疑是最zui适合处理数据的编程语言之一。而俊红这本《对比Excel,轻松学习Python 报表自动化》给了我们摆脱“工具人”的可能,以前需要一天才能做完的工作,现在只需要几行代码就能解决。
——刘志军,公众号“Python 之禅”主理人、次幂数据创始人
本书延续“对比Excel,轻松学”的写作特点,聚焦在Excel 自动化报表制作上。不论是细化到具体单元格的数据内容及字体、填充色等样式设置,还是多工作表的公式函数联动,抑或是数个文件及文件夹的批量编辑,这本书深入浅出地介绍了对应场景和具体做法,内容的体系化和实用性令人赞叹,而且代码详尽、步骤清晰。
将囿于周期性报表的精力聚焦在业务分析上是很多分析师和运营人员的期望,充分运用Python 脚本等工具高效制作自动化报表非常值得尝试,而本书对Excel 从单元格到工作簿不同尺度的各类自动化操作有清晰的讲解,书中的实践可以使你在操作Excel 报表时优雅高效、如臂使指,本书非常适合作为案头时常翻阅的工具书。
——梅破知春近,读者
Excel 是数据分析师常用的软件之一。然而,如果报表制作耗费的时间太多,分析师便缺少精力去对报表做深入分析。本书抓住了这个痛点,通过对比Excel 的方式来讲解报表制作对应的Python 代码如何实现,从而实现报表自动化,提升分析师的工作效率,提高业务效能。
——NEIL,读者
本书不同于Python 专业开发书籍,作者对Python 每个知识点的讲解都是为了实现报表自动化,采用了对比方法并结合案例对核心知识点进行讲解。特别适合需要处理大量报表,又想提高效率的读者,是一本非常实用的书籍。
——Net,读者
当初为了学习数据分析,偶然间接触到张老师的《对比Excel,轻松学习Python数据分析》一书,立刻被里面利用对比方式进行学习的风格所吸引,特别是张老师还为书籍在“知识星球”里建立了一个数据分析学习交流的圈子。在圈子里和大家每天坚持打卡学习,分享学习笔记,互相交流讨论,这样的学习氛围岂不美哉!
最xin推出的这本《对比Excel,轻松学习Python 报表自动化》可以看作是《对比Excel,轻松学习Python 数据分析》的进阶版和项目实战版,延续了之前对比的学习风格,再加上清晰易懂的语言讲解和详尽的实例演示,相信大家读后定能获益匪浅。
——你好!阳光,读者
报表制作是职场人必备的技能。尽管这样,大部分人仍停留在手动处理阶段。面对复杂的报表需求,如何更高效地处理加工报表成为了一门学问。
俊红这本书可以说是打开了高效处理报表的大门。整本书很有特色,通过对比大家都熟悉的Excel 功能和函数,使用Python 编程由浅及深地实现报表自动化,如文件批量处理、自动生成可视化图表、自动发邮件。每一个章节都有案例清楚地讲解核心使用方法,即使你是Python 小白也不要紧,只要按照本书教程学习,也可以成为报表自动化处理的高手,提升百倍的工作效率。
——于耀东,风控模型专家、公众号“Python 数据科学”主理人
有人的地方就有电脑,有电脑的地方就有程序,有程序的地方就有Excel。如果你每天需要处理海量的Excel 数据,并且需要制作各种各样的报表,那么,阅读这本书就对了。因为,有Excel 的地方就有Python。从现在开始,就让我们跟随本书作者张俊红——一位擅长Excel、Python 和SQL,并且精通数据分析和机器学习的工程师的坚实脚步,像学Excel 一样,轻松学习Python
报表自动化吧!
——周斌,《WPS Office 效率手册》作者、创新思维与Office 管理教练__