
Excel作为当今***的办公软件之一,在数据编辑、处理和分析方面都有它的独到优势。Python是一门简单易懂的编程语言,很容易上手。用Python操作Excel可以很好地解决操作Excel中遇到的大量重复、机械工作的问题。
本书共12章,可分为两部分:第一部分包括第1~5章,概要介绍Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、文件操作、数据处理模块等,以帮助读者了解Python的基础知识;第二部分包括6~12章,主要讲解Python与Excel的实战操作,通过生动的情景对话方式引入大量的代码实战示例,所有代码都有详细、易懂的中文注解,以帮助读者快速理解代码。
本书专门针对希望通过Python操作Excel并提升自己的工作效率的人员量身定做,既适合经常与Excel打交道的办公人员、编写处理Excel程序的Python开发人员、Python编程爱好者阅读,也适合办公自动化培训机构以及中学、大中专院校、本科院校对办公自动化感兴趣的学生参考。
前 言
为什么要使用Python操作Excel?
Excel作为当今最流行的办公软件之一,在数据编辑、处理和分析方面都有它的独特优势。但随着一些业务越来越成熟,使用Excel时,更多时候所做的是重复性和机械的工作,特别当有大量的Excel文件需要处理时,其中的重复性和机械性的工作量更为庞大。实际上这些重复和机械的工作完全可以有更好的方式解决,如通过编写程序来实现这些重复工作的自动完成。使用Python编写程序操作Excel就是一个非常好的选择,使用Python及一些第三方库,可以非常简单、高效的操作Excel。
什么是Python,为什么要使用它?
Python是一种解释型的、面向对象的、带有动态语义的高级程序设计语言。这里有很多术语,你可以在阅读本书的过程中逐渐弄懂。Python是一门简单易懂的编程语言,很容易上手,不管对于有没有计算机基础的学者,学习成本都不高。
Python是一种使你在编程时能够保持自己风格的程序设计语言,Python可以使用清晰易懂的程序来实现想要的功能。如果你之前没有任何编程经历,那么既简单又强大的Python就是你入门的完美选择。
随着数字时代的到来,如今人们需要处理的数据量呈几何级数增长,Excel由于基于文件的设计思路,无法达到数据库系统的性能,在处理大量数据的时候会遇到非常严重的性能问题。如当Excel表中的数据达到上百万行时,使用Excel操作就非常缓慢,甚至电脑可能会直接罢工。对于类似这样的问题,通过Python编程操作如此大数据量的Excel表格可以非常轻松的应对,Python中的一个非常强大的第三方模块——Pandas,就是专门为处理大数据量而准备的。当然还有很多其它操作Excel的好用的特性,这里就不一一介绍了,读者在本书阅读中可以逐步体会。
用Python操作Excel,可以很好的解决操作Excel中遇到的大量重复性、机械性的工作的问题。应用Python结合各种功能强大的第三模块,可以将大数据分析、机器学习等先进的数据科学工具以简单优雅的方式应用到日常办公中,极大的帮助使用者提升办公效率,同时也能很好的帮助使用者从重复、机械的Excel文档处理中解脱出来。
对于书中Python基础部分的内容,若想要更体系的了解,可以阅读本人编写的《Python 3.8 从零开始学》和《Python实战之数据分析与处理》两书。
本书特色
本书专门针对希望通过Python操作Excel,并提升自己的工作效率的人员量身定做,是编者学习和使用Python开发过程中的体会和经验总结,涵盖实际开发中重要的知识点,内容详尽,代码可读性及可操作性强。
本书主要分为两部分,第一部分概要介绍Python语言的类型和对象、操作符和表达式、编程结构和控制流、函数、序列、文件操作、数据处理模块等,以帮助读者了解Python一些基础知识。第二部分主要讲解Python与Excel的实战操作,通过生动的情景对话方式引入大量的代码实战示例,所有代码都有详细、易懂的中文注解,以帮助读者快速理解代码。
本书内容
本书分为两大部分,共12章,各章内容安排如下:
? 第一部分:Python基础
? 第1章主要介绍Python的基础知识,为后续章节学习相关内容做铺垫。
? 第2章主要介绍列表、元组、字典和集合等Python中常用的数据结构。
? 第3章主要介绍条件语句、循环语句等一些更深层次的语句。
? 第4章主要介绍函数和文件。
? 第5章主要介绍数据处理中会经常遇到的一些数据处理的模块,如NumPy、Pandas、Matplotlib等模块。
? 第二部分:Python与Excel的实战操作
? 第6章主要讲解怎么使用Python处理Excel文件,包括操作工作薄、工作表、工作薄和工作表的混合操作等内容。
? 第7章主要讲解Excel中行、列和单元格的相关处理。
? 第8章主要讲解如何使用xlwings、pandas等模块实现对Excel文件中数据的分析。
? 第9章主要介绍xlwings模块结合pandas和matplotlib模块做更多的数据图表的展示,及使用对应模块怎么展示更多样化的图表。
? 第10章主要讲解通过柱形图、折线图、散点图等图表展示数据间的变化趋势和数据的相关性等特性。
? 第11章是一个综合实战章节,通过该章节,可以实现在一个sheet中展示多张图形。
? 第12章主要讲解如何使用Excel中的xlwings插件和通过VBA代码调用Python中的自定义函数。
读者对象
? 经常与Excel打交道的办公人员,如文秘、行政、人事、营销、财务等职业人士。
? 工作中编写处理Excel程序的Python开发人员。
? Python编程爱好者。
? 办公自动化培训机构、有兴趣于办公自动化的中学、大专院校及本科的学生。
代码下载
本书的示例代码都是基于Python3.8编写的,除最后一章,其他章节涉及的Excel操作结果截图都是使用WPS打开对应Excel文件进行的,最后一章操作的Excel是基于Office2007进行示例演示及截图的。
本书的所有代码,读者可扫描右侧二维码获取,也可按提示把下载链接转发到自己的邮箱中下载。如果下载有问题,请直接发送邮件至booksaga@126.com,邮件主题为“左手Python,右手Excel:带飞Excel的Python绝技”。
致 谢
本书在写作过程中遇到了很多困难以及写作方式上的困惑,好在如今是信息互联的时代,让笔者有机会参阅很多相关信息,能够较好地解决很多困难。本书在写作过程中参考了一些相关图书资料,主要有《Python 3.8从零开始学》《Python实战之数据分析与处理》《像计算机科学家一样思考Python》 《编写高质量代码改善Python程序的91个建议》 《超简单:用Python让Excel飞起来》等。在此,对这些资料的作者表示真诚的感谢。
本书得以顺利出版,感谢清华大学出版社的王金柱编辑,在编写的过程中给予了很多指导和修改意见。同时感谢王鹏博士和刘艳老师参与本书部分章节的编写和修改,在本书完稿之际,刘艳老师诞下了她的第一个小男孩,在此也将该书作为他的诞生礼,欢迎他的到来。也感谢家人在写作期间给予的安静写作环境,没有你们的帮助与关心,本书不能如期完成。最后感谢读者们的鼓励和支持,正因为有你们不断指出不足、不断提出问题与意见,才使本书更臻完美。
由于时间所限,本书并非全部内容都书写的很详尽,书中也有一些借鉴其他图书的点,望读者在阅读过程中多多谅解。如果您在阅读过程中发现错误,不管是文本还是代码,希望您可以告知我们,我们将不胜感激。Github联系地址:
https://github.com/liuyuzhou/pythonoperexcel.git
编 者
2021年11月
目 录
第一部分 Python基础
第1章 操作Excel的Python基础 1
1.1 从Hello World开始 1
1.2 数字类型 2
1.2.1 整数 2
1.2.2 浮点数 3
1.2.3 数字类型转换 4
1.3 认识Python的常量、变量和关键字 5
1.3.1 变量 5
1.3.2 变量名称 8
1.3.3 Python关键字 9
1.3.4 常量 9
1.4 运算符和操作对象 9
1.4.1 什么是运算符和操作对象 10
1.4.2 算术运算符 10
1.4.3 比较运算符 11
1.4.4 赋值运算符 12
1.5 注释 13
1.6 字符串的简单操作 13
1.7 字符串格式化 15
1.7.1 经典的字符串格式化符号——百分号(%) 15
1.7.2 format字符串格式化 15
1.7.3 f字符串格式化 16
1.7.4 f-string字符串格式化 17
1.8 字符串方法 18
1.8.1 split()方法 18
1.8.2 strip()方法 18
1.8.3 join()方法 19
1.8.4 lower()方法 19
1.8.5 upper()方法 20
1.8.6 replace()方法 21
1.8.7 find()方法 21
1.9 本章小结 22
第2章 列表、元组、字典和集合 23
2.1 通用序列操作 23
2.1.1 索引 24
2.1.2 分片 25
2.1.3 序列相加 28
2.1.4 乘法 28
2.1.5 成员资格 29
2.1.6 长度、最小值和最大值 29
2.2 列表 30
2.2.1 更新列表 30
2.2.2 列表方法 34
2.3 元组 37
2.3.1 tuple函数 38
2.3.2 元组的基本操作 39
2.4 字典 40
2.4.1 创建和使用字典 41
2.4.2 字典方法 44
2.5 集合 46
2.5.1 创建集合 47
2.5.2 集合方法 47
2.6 本章小结 48
第3章 条件、循环和其他语句 49
3.1 使用编辑器 49
3.2 import的使用 50
3.3 别样的赋值 52
3.3.1 序列解包 52
3.3.2 链式赋值 53
3.3.3 增量赋值 54
3.4 条件语句 55
3.4.1 布尔变量的作用 55
3.4.2 if语句 56
3.4.3 else子句 57
3.4.4 elif子句 58
3.4.5 嵌套代码块 58
3.5 循环 59
3.5.1 while循环 60
3.5.2 for循环 60
3.5.3 循环遍历字典元素 62
3.5.4 跳出循环 63
3.6 pass语句 65
3.7 本章小结 66
第4章 函数和文件操作 67
4.1 调用函数 67
4.2 定义函数 69
4.3 函数的参数 71
4.3.1 必需参数 72
4.3.2 关键字参数 73
4.3.3 默认参数 73
4.4 变量的作用域 76
4.4.1 局部变量 77
4.4.2 全局变量 78
4.5 有返回值和无返回值函数 80
4.6 打开文件 81
4.7 基本文件方法 83
4.7.1 读和写 84
4.7.2 读写行 86
4.7.3 关闭文件 87
4.7.4 重命名文件 88
4.7.5 删除文件 88
4.8 本章小结 89
第5章 数据处理模块 90
5.1 NumPy介绍及简单使用 90
5.1.1 NumPy基础 91
5.1.2 NumPy创建数组 92
5.1.3 NumPy切片和索引 93
5.2 Pandas介绍及简单使用 95
5.2.1 系列 96
5.2.2 数据帧 97
5.2.3 表格函数 106
5.2.4 排序 107
5.2.5 数据表的处理 108
5.3 Matplotlib介绍及简单使用 113
5.4 Python与Excel的交互入门 116
5.5 本章小结 117
第二部分 Python与Excel的实战操作
第6章 使用Python处理Excel文件 118
6.1 Python处理Excel模块介绍 118
6.2 xlwings模块介绍及使用 119
6.3 操作工作簿 122
6.3.1 批量新建工作簿 123
6.3.2 批量打开工作簿 125
6.3.3 重命名工作簿 126
6.3.4 删除工作簿 128
6.3.5 在工作簿中批量新增工作表 129
6.4 操作工作表 130
6.4.1 重命名工作表 130
6.4.2 删除工作表 131
6.5 工作簿与工作表的混合操作 132
6.5.1 将一个工作簿中的工作表复制到其他工作簿 132
6.5.2 将工作表拆分为工作簿 135
6.5.3 工作表合并 139
6.6 本章小结 143
第7章 Excel中行、列和单元格的处理 144
7.1 工作簿格式调整 144
7.1.1 调整行高和列宽 144
7.1.2 更改数据格式 146
7.1.3 更改外观格式 148
7.2 工作簿数据修改和提取 150
7.3 工作表数据拆分与合并 160
7.4 本章小结 164
第8章 Excel中的数据分析 165
8.1 数据排序 165
8.2 数据筛选 170
8.3 数据汇总 175
8.4 数据透视表 186
8.5 数据分析与图表展示 189
8.6 本章小结 202
第9章 简单图表制作 203
9.1 几类图表制作方式 203
9.2 导入Excel数据制作图表 208
9.3 组合图表制作 214
9.4 本章小结 230
第10章 常用图表制作 231
10.1 对比关系图表制作 231
10.2 相关性关系图表制作 238
10.3 比例关系图表制作 245
10.4 指标图表制作 253
10.5 本章小结 258
第11章 综合实战 259
11.1 在一个工作表中插入饼图和圆环图 259
11.2 在一个工作表中插入多个图 262
11.3 本章小结 268
第12章 在Excel中使用Python 269
12.1 在Excel中调用Python自定义函数 269
12.1.1 加载xlwings插件 269
12.1.2 使用Python自定义函数 272
12.2 利用VBA代码调用Python自定义函数 278
12.2.1 由命令创建文件并调用自定义函数 278
12.2.2 手动创建文件并调用自定义函数 282
12.2.3 VBA代码和Python代码的混合使用 287
12.3 Python在不同机器下的可执行实现 289
12.3.1 PyInstaller模块讲解 289
12.3.2 Python代码转成可执行程序 290
12.3.3 可执行程序的实际应用 292
12.4 本章小结 294
Excel是一个深受读者喜爱的电子表格与数据处理工具,其功能丰富且易于使用,但在重复处理大量数据时很难实现自动化。本书介绍如何使用Python处理Excel任务,以及在Excel中调用Python进行自动化操作。从基础的Python语法到数据分析和Excel自动化,都进行详细的讲解,对于初次学习Python的初学者,自动化办公软件开发人员,以及想要在实践中自动化烦琐重复性任务的人员来说,是一本很好的参考书。
刘宇宙,从业9年,目前就职于深度赋智,担任资深开发工程师,从事人工智能相关研发。曾供职于上海海鼎、广州棒谷等科技公司。先后从事过卡系统研发、云计算IaaS研发、物联网研发、网络爬虫研发和人工智能研发。
出版畅销书《Python 3.5从零开始学》(清华大学出版社,2017)。