书籍详情
对比VBA学Python:高效实现数据处理自动化
作者:童大谦
出版社:电子工业出版社
出版时间:2022-10-01
ISBN:9787121443107
定价:¥119.00
购买这本书可以去
内容简介
本书旨在帮助读者以快的速度,系统地从Excel VBA脚本编程转入Python脚本编程,或者从Python脚本编程转入VBA脚本编程,或者同时学会两种脚本编程方法。本书使用Excel VBA和Python双语言对照的方式,能帮助VBA用户快速掌握Python脚本编程,并使用双语实现Excel脚本编程和数据处理自动化。本书包括对象模型、界面设计、文件操作、Excel函数、Excel图形、Excel图表、Excel数据透视表、正则表达式、统计分析和混合编程等内容。关于Python方面,本书详细地介绍了xlwings包的使用方法。本书适合任何对Excel脚本开发感兴趣的读者阅读,如有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。
作者简介
童大谦,具有15年以上VB、VBA、.NET开发经验,开发了多个数学、数据分析与可视化方面的软件,以及与科研院所合作开发了若干个软件系统。对Python、MATLAB、SPSS、R等数据分析软件非常熟悉,出版多本相关图书。曾在高校执教,CSDN高级讲师,全网学员目前近20万人。
目录
第1章 Excel编程与Python编程概述 1
1.1 关于Excel脚本编程 1
1.1.1 为什么要进行Excel脚本编程 1
1.1.2 选择VBA还是选择Python 2
1.2 使用Excel VBA编写程序 2
1.2.1 Excel VBA的编程环境 2
1.2.2 编写Excel VBA程序 4
1.3 使用Python编写程序 5
1.3.1 Python的特点 5
1.3.2 下载并安装Python 5
1.3.3 Python的编程环境 6
1.3.4 编写Python程序 7
1.4 编程规范 9
1.4.1 代码注释 9
1.4.2 代码续行 10
1.4.3 代码缩进 10
第2章 常量和变量 12
2.1 常量 12
2.1.1 Excel VBA常量 12
2.1.2 Python常量 13
2.2 变量及其操作 14
2.2.1 变量的命名 14
2.2.2 变量的声明 15
2.2.3 变量的赋值 16
2.2.4 链式赋值 18
2.2.5 系列解包赋值 18
2.2.6 交换变量的值 19
2.2.7 变量的清空或删除 19
2.2.8 Python对象的三要素 20
2.3 变量的数据类型 21
2.3.1 基本的数据类型 21
2.3.2 数据类型转换 23
2.4 数字 25
2.4.1 整型数字 25
2.4.2 浮点型数字 26
2.4.3 复数 27
2.4.4 类型转换的有关问题 28
2.4.5 Python的整数缓存机制 29
第3章 表达式 30
3.1 算术运算符 30
3.2 关系运算符 32
3.3 逻辑运算符 34
3.4 赋值运算符和算术赋值运算符 36
3.5 成员运算符 36
3.6 身份运算符 38
3.7 运算符的优先级 38
第4章 初识Excel对象模型 42
4.1 Excel对象模型 42
4.1.1 对象及相关概念 42
4.1.2 Excel对象及其层次结构 43
4.2 操作Excel对象模型的一般过程 44
4.2.1 使用Excel VBA操作Excel对象模型的一般过程 44
4.2.2 与Excel相关的Python包 45
4.2.3 xlwings包及其安装 46
4.2.4 使用xlwings包操作Excel对象模型的一般过程 47
4.3 与Excel对象模型有关的常用操作 49
4.3.1 获取文件的当前路径 49
4.3.2 对象的引用 50
4.3.3 获取末行行号:给参数指定常数值 51
4.3.4 扩展单元格区域 52
4.3.5 修改单元格区域的属性 53
第5章 流程控制 54
5.1 判断结构 54
5.1.1 单分支判断结构 54
5.1.2 二分支判断结构 55
5.1.3 多分支判断结构 56
5.1.4 有嵌套的判断结构 58
5.1.5 三元操作表达式 60
5.1.6 判断结构示例:判断是否为闰年 62
5.2 循环结构:for循环 64
5.2.1 for循环 64
5.2.2 嵌套for循环 66
5.2.3 Python中的for…else的用法 67
5.2.4 for循环示例:求给定数据的值和小值 68
5.3 循环结构:while循环 69
5.3.1 简单while循环 70
5.3.2 Python中有分支的while循环 72
5.3.3 嵌套while循环 72
5.3.4 while循环示例:求给定数据的值和小值 73
5.4 Excel VBA的其他结构 75
5.4.1 For Each…Next循环结构 75
5.4.2 Do循环结构 76
5.5 其他语句 77
5.5.1 Excel VBA中的其他语句 77
5.5.2 Python中的其他语句 78
第6章 字符串 80
6.1 创建字符串 80
6.1.1 直接创建字符串 80
6.1.2 通过转换类型创建字符串 83
6.1.3 字符串的长度 84
6.1.4 转义字符 84
6.2 字符串的索引和切片 86
6.2.1 字符串的索引 86
6.2.2 遍历字符串 87
6.2.3 字符串的切片 88
6.2.4 字符串的索引和切片示例:使用身份证号求年龄 89
6.3 字符串的格式化输出 91
6.3.1 实现字符串的格式化输出 91
6.3.2 字符串的格式化输出示例:数据保留4位小数 95
6.4 字符串的大小写 96
6.4.1 设置字符串的大小写 96
6.4.2 设置字符串的大小写示例:列数据统一大小写 98
6.5 字符串的分割和连接 99
6.5.1 字符串的分割 100
6.5.2 字符串的分割示例:分割物资规格 100
6.5.3 字符串的连接 102
6.5.4 字符串的连接示例:合并学生个人信息 104
6.6 字符串的查找和替换 105
6.6.1 字符串的查找 106
6.6.2 字符串的替换 107
6.6.3 字符串的查找和替换示例:提取省、市、县 108
6.6.4 字符串的查找和替换示例:统一列数据的单位 111
6.7 字符串的比较 113
6.7.1 使用关系运算符进行比较 113
6.7.2 使用函数进行比较 114
6.7.3 字符串的比较示例:找老乡 116
6.8 删除字符串两端的空格 119
6.9 Python中字符串的缓存机制 120
第7章 数组 122
7.1 Excel VBA中的数组 122
7.1.1 静态数组 122
7.1.2 常量数组 124
7.1.3 动态数组 125
7.1.4 数组元素的增、删、改 126
7.1.5 数组元素的去重 129
7.1.6 数组元素的排序 130
7.1.7 数组元素的计算 131
7.1.8 数组元素的拆分和合并 132
7.1.9 数组元素的过滤 133
7.1.10 创建二维数组 133
7.1.11 改变二维数组的大小 134
7.1.12 Excel工作表与数组交换数据 135
7.1.13 数组示例:给定数据的简单统计 142
7.1.14 数组示例:突出显示给定数据的重复值 143
7.1.15 数组示例:求大于某数的小值 144
7.1.16 数组示例:创建杨辉三角 146
7.2 Python中的数组:列表 147
7.2.1 创建列表 147
7.2.2 索引和切片 151
7.2.3 添加列表元素 152
7.2.4 插入列表元素 153
7.2.5 删除列表元素 154
7.2.6 列表元素的去重 154
7.2.7 列表元素的排序 155
7.2.8 列表元素的计算 155
7.2.9 列表的拆分和合并 156
7.2.10 列表的过滤 156
7.2.11 二维列表 157
7.2.12 Excel工作表与列表交换数据 158
7.2.13 数组示例:给定数据的简单统计 160
7.2.14 数组示例:突出显示给定数据的重复值 161
7.2.15 数组示例:求大于某数的小值 162
7.2.16 数组示例:创建杨辉三角 163
7.3 Python中的数组:元组 164
7.3.1 元组的创建和删除 164
7.3.2 元组的索引和切片 165
7.3.3 基本运算和操作 166
7.4 Python中的数组:NumPy数组 167
7.4.1 NumPy包及其安装 167
7.4.2 创建NumPy数组 168
7.4.3 NumPy数组的索引和切片 170
7.4.4 NumPy数组的计算 171
7.4.5 Excel工作表与NumPy数组交换数据 174
7.5 Python中带索引的数组:Series和DataFrame 175
7.5.1 pandas包及其安装 175
7.5.2 pandas Series 176
7.5.3 pandas DataFrame 180
7.5.4 Excel与pandas交换数据 187
第8章 字典 191
8.1 字典的创建 191
8.1.1 创建字典对象 191
8.1.2 Excel VBA中后期绑定与前期绑定的比较 193
8.1.3 Python中更多创建字典的方法 195
8.2 字典元素的索引 196
8.2.1 获取键和值 196
8.2.2 键在字典中是否存在 199
8.3 字典元素的增、删、改 200
8.3.1 增加字典元素 200
8.3.2 修改键和值 201
8.3.3 删除字典元素 202
8.4 字典数据的读/写 202
8.4.1 字典数据的格式化输出 202
8.4.2 Excel工作表与字典之间的数据读/写 204
8.5 字典应用示例 207
8.5.1 应用示例1:汇总多行数据中值出现的次数 207
8.5.2 应用示例2:汇总球员奖项 209
8.5.3 应用示例3:汇总研究课题的子课题 212
第9章 集合 215
9.1 集合的相关概念 215
9.1.1 集合的概念 215
9.1.2 集合运算 215
9.2 集合的创建和修改 216
9.2.1 创建集合 216
9.2.2 集合元素的添加和删除 217
9.3 集合运算 218
9.3.1 交集运算 218
9.3.2 并集运算 220
9.3.3 差集运算 221
9.3.4 对称差集运算 223
9.3.5 子集和超集运算 225
9.4 集合应用示例 227
9.4.1 应用示例1:统计参加兴趣班的所有学生 227
9.4.2 应用示例2:跨表去重 229
9.4.3 应用示例3:找出报和没有报两个兴趣班的学生 232
第10章 函数 235
10.1 内部函数 235
10.1.1 常见的内部函数 235
10.1.2 Python标准模块函数 238
10.2 第三方库函数 241
10.3 自定义函数 243
10.3.1 函数的定义和调用 243
10.3.2 有多个返回值的情况 246
10.3.3 可选参数和默认参数 248
10.3.4 可变参数 250
10.3.5 参数为字典 251
10.3.6 传值还是传址 253
10.4 变量的作用范围和生存期 254
10.4.1 变量的作用范围 255
10.4.2 变量的生存期和Excel VBA中的静态变量 256
10.5 Python中的匿名函数 257
10.6 函数应用示例 258
10.6.1 应用示例1:计算圆环的面积 258
10.6.2 应用示例2:递归计算阶乘 260
10.6.3 应用示例3:删除字符串中的数字 262
第11章 模块与工程 265
11.1 模块 265
11.1.1 内置模块和第三方模块 265
11.1.2 函数式自定义模块 265
11.1.3 脚本式自定义模块 267
11.1.4 类模块 267
11.1.5 窗体模块 267
11.2 工程 268
11.2.1 使用内置模块和第三方模块 268
11.2.2 使用其他自定义模块 269
第12章 调试与异常处理 271
12.1 Excel VBA中的调试 271
12.1.1 输入错误的调试 271
12.1.2 运行时错误的调试 272
12.1.3 逻辑错误的调试 272
12.2 Python中的异常处理 274
12.2.1 常见异常 274
12.2.2 异常捕获:单分支的情况 275
12.2.3 异常捕获:多分支的情况 276
12.2.4 异常捕获:try…except…else… 277
12.2.5 异常捕获:try…finally… 277
第13章 深入Excel对象模型 279
13.1 Exc
1.1 关于Excel脚本编程 1
1.1.1 为什么要进行Excel脚本编程 1
1.1.2 选择VBA还是选择Python 2
1.2 使用Excel VBA编写程序 2
1.2.1 Excel VBA的编程环境 2
1.2.2 编写Excel VBA程序 4
1.3 使用Python编写程序 5
1.3.1 Python的特点 5
1.3.2 下载并安装Python 5
1.3.3 Python的编程环境 6
1.3.4 编写Python程序 7
1.4 编程规范 9
1.4.1 代码注释 9
1.4.2 代码续行 10
1.4.3 代码缩进 10
第2章 常量和变量 12
2.1 常量 12
2.1.1 Excel VBA常量 12
2.1.2 Python常量 13
2.2 变量及其操作 14
2.2.1 变量的命名 14
2.2.2 变量的声明 15
2.2.3 变量的赋值 16
2.2.4 链式赋值 18
2.2.5 系列解包赋值 18
2.2.6 交换变量的值 19
2.2.7 变量的清空或删除 19
2.2.8 Python对象的三要素 20
2.3 变量的数据类型 21
2.3.1 基本的数据类型 21
2.3.2 数据类型转换 23
2.4 数字 25
2.4.1 整型数字 25
2.4.2 浮点型数字 26
2.4.3 复数 27
2.4.4 类型转换的有关问题 28
2.4.5 Python的整数缓存机制 29
第3章 表达式 30
3.1 算术运算符 30
3.2 关系运算符 32
3.3 逻辑运算符 34
3.4 赋值运算符和算术赋值运算符 36
3.5 成员运算符 36
3.6 身份运算符 38
3.7 运算符的优先级 38
第4章 初识Excel对象模型 42
4.1 Excel对象模型 42
4.1.1 对象及相关概念 42
4.1.2 Excel对象及其层次结构 43
4.2 操作Excel对象模型的一般过程 44
4.2.1 使用Excel VBA操作Excel对象模型的一般过程 44
4.2.2 与Excel相关的Python包 45
4.2.3 xlwings包及其安装 46
4.2.4 使用xlwings包操作Excel对象模型的一般过程 47
4.3 与Excel对象模型有关的常用操作 49
4.3.1 获取文件的当前路径 49
4.3.2 对象的引用 50
4.3.3 获取末行行号:给参数指定常数值 51
4.3.4 扩展单元格区域 52
4.3.5 修改单元格区域的属性 53
第5章 流程控制 54
5.1 判断结构 54
5.1.1 单分支判断结构 54
5.1.2 二分支判断结构 55
5.1.3 多分支判断结构 56
5.1.4 有嵌套的判断结构 58
5.1.5 三元操作表达式 60
5.1.6 判断结构示例:判断是否为闰年 62
5.2 循环结构:for循环 64
5.2.1 for循环 64
5.2.2 嵌套for循环 66
5.2.3 Python中的for…else的用法 67
5.2.4 for循环示例:求给定数据的值和小值 68
5.3 循环结构:while循环 69
5.3.1 简单while循环 70
5.3.2 Python中有分支的while循环 72
5.3.3 嵌套while循环 72
5.3.4 while循环示例:求给定数据的值和小值 73
5.4 Excel VBA的其他结构 75
5.4.1 For Each…Next循环结构 75
5.4.2 Do循环结构 76
5.5 其他语句 77
5.5.1 Excel VBA中的其他语句 77
5.5.2 Python中的其他语句 78
第6章 字符串 80
6.1 创建字符串 80
6.1.1 直接创建字符串 80
6.1.2 通过转换类型创建字符串 83
6.1.3 字符串的长度 84
6.1.4 转义字符 84
6.2 字符串的索引和切片 86
6.2.1 字符串的索引 86
6.2.2 遍历字符串 87
6.2.3 字符串的切片 88
6.2.4 字符串的索引和切片示例:使用身份证号求年龄 89
6.3 字符串的格式化输出 91
6.3.1 实现字符串的格式化输出 91
6.3.2 字符串的格式化输出示例:数据保留4位小数 95
6.4 字符串的大小写 96
6.4.1 设置字符串的大小写 96
6.4.2 设置字符串的大小写示例:列数据统一大小写 98
6.5 字符串的分割和连接 99
6.5.1 字符串的分割 100
6.5.2 字符串的分割示例:分割物资规格 100
6.5.3 字符串的连接 102
6.5.4 字符串的连接示例:合并学生个人信息 104
6.6 字符串的查找和替换 105
6.6.1 字符串的查找 106
6.6.2 字符串的替换 107
6.6.3 字符串的查找和替换示例:提取省、市、县 108
6.6.4 字符串的查找和替换示例:统一列数据的单位 111
6.7 字符串的比较 113
6.7.1 使用关系运算符进行比较 113
6.7.2 使用函数进行比较 114
6.7.3 字符串的比较示例:找老乡 116
6.8 删除字符串两端的空格 119
6.9 Python中字符串的缓存机制 120
第7章 数组 122
7.1 Excel VBA中的数组 122
7.1.1 静态数组 122
7.1.2 常量数组 124
7.1.3 动态数组 125
7.1.4 数组元素的增、删、改 126
7.1.5 数组元素的去重 129
7.1.6 数组元素的排序 130
7.1.7 数组元素的计算 131
7.1.8 数组元素的拆分和合并 132
7.1.9 数组元素的过滤 133
7.1.10 创建二维数组 133
7.1.11 改变二维数组的大小 134
7.1.12 Excel工作表与数组交换数据 135
7.1.13 数组示例:给定数据的简单统计 142
7.1.14 数组示例:突出显示给定数据的重复值 143
7.1.15 数组示例:求大于某数的小值 144
7.1.16 数组示例:创建杨辉三角 146
7.2 Python中的数组:列表 147
7.2.1 创建列表 147
7.2.2 索引和切片 151
7.2.3 添加列表元素 152
7.2.4 插入列表元素 153
7.2.5 删除列表元素 154
7.2.6 列表元素的去重 154
7.2.7 列表元素的排序 155
7.2.8 列表元素的计算 155
7.2.9 列表的拆分和合并 156
7.2.10 列表的过滤 156
7.2.11 二维列表 157
7.2.12 Excel工作表与列表交换数据 158
7.2.13 数组示例:给定数据的简单统计 160
7.2.14 数组示例:突出显示给定数据的重复值 161
7.2.15 数组示例:求大于某数的小值 162
7.2.16 数组示例:创建杨辉三角 163
7.3 Python中的数组:元组 164
7.3.1 元组的创建和删除 164
7.3.2 元组的索引和切片 165
7.3.3 基本运算和操作 166
7.4 Python中的数组:NumPy数组 167
7.4.1 NumPy包及其安装 167
7.4.2 创建NumPy数组 168
7.4.3 NumPy数组的索引和切片 170
7.4.4 NumPy数组的计算 171
7.4.5 Excel工作表与NumPy数组交换数据 174
7.5 Python中带索引的数组:Series和DataFrame 175
7.5.1 pandas包及其安装 175
7.5.2 pandas Series 176
7.5.3 pandas DataFrame 180
7.5.4 Excel与pandas交换数据 187
第8章 字典 191
8.1 字典的创建 191
8.1.1 创建字典对象 191
8.1.2 Excel VBA中后期绑定与前期绑定的比较 193
8.1.3 Python中更多创建字典的方法 195
8.2 字典元素的索引 196
8.2.1 获取键和值 196
8.2.2 键在字典中是否存在 199
8.3 字典元素的增、删、改 200
8.3.1 增加字典元素 200
8.3.2 修改键和值 201
8.3.3 删除字典元素 202
8.4 字典数据的读/写 202
8.4.1 字典数据的格式化输出 202
8.4.2 Excel工作表与字典之间的数据读/写 204
8.5 字典应用示例 207
8.5.1 应用示例1:汇总多行数据中值出现的次数 207
8.5.2 应用示例2:汇总球员奖项 209
8.5.3 应用示例3:汇总研究课题的子课题 212
第9章 集合 215
9.1 集合的相关概念 215
9.1.1 集合的概念 215
9.1.2 集合运算 215
9.2 集合的创建和修改 216
9.2.1 创建集合 216
9.2.2 集合元素的添加和删除 217
9.3 集合运算 218
9.3.1 交集运算 218
9.3.2 并集运算 220
9.3.3 差集运算 221
9.3.4 对称差集运算 223
9.3.5 子集和超集运算 225
9.4 集合应用示例 227
9.4.1 应用示例1:统计参加兴趣班的所有学生 227
9.4.2 应用示例2:跨表去重 229
9.4.3 应用示例3:找出报和没有报两个兴趣班的学生 232
第10章 函数 235
10.1 内部函数 235
10.1.1 常见的内部函数 235
10.1.2 Python标准模块函数 238
10.2 第三方库函数 241
10.3 自定义函数 243
10.3.1 函数的定义和调用 243
10.3.2 有多个返回值的情况 246
10.3.3 可选参数和默认参数 248
10.3.4 可变参数 250
10.3.5 参数为字典 251
10.3.6 传值还是传址 253
10.4 变量的作用范围和生存期 254
10.4.1 变量的作用范围 255
10.4.2 变量的生存期和Excel VBA中的静态变量 256
10.5 Python中的匿名函数 257
10.6 函数应用示例 258
10.6.1 应用示例1:计算圆环的面积 258
10.6.2 应用示例2:递归计算阶乘 260
10.6.3 应用示例3:删除字符串中的数字 262
第11章 模块与工程 265
11.1 模块 265
11.1.1 内置模块和第三方模块 265
11.1.2 函数式自定义模块 265
11.1.3 脚本式自定义模块 267
11.1.4 类模块 267
11.1.5 窗体模块 267
11.2 工程 268
11.2.1 使用内置模块和第三方模块 268
11.2.2 使用其他自定义模块 269
第12章 调试与异常处理 271
12.1 Excel VBA中的调试 271
12.1.1 输入错误的调试 271
12.1.2 运行时错误的调试 272
12.1.3 逻辑错误的调试 272
12.2 Python中的异常处理 274
12.2.1 常见异常 274
12.2.2 异常捕获:单分支的情况 275
12.2.3 异常捕获:多分支的情况 276
12.2.4 异常捕获:try…except…else… 277
12.2.5 异常捕获:try…finally… 277
第13章 深入Excel对象模型 279
13.1 Exc
猜您喜欢