《代替VBA!用Python轻松实现Excel编程》封面

内容简介

在数据分析方面,Python实际上已经远远超越VBA,因为使用Python提供的数据处理函数和模块就可以实现很多功能,既快速、可靠,又简便。

本书结合OpenPyXI、win32com、xlwings和pandas等Python包,全面介绍使用Python实现Excel脚本开发的各种可能性,涉及的内容包括Python语言基础、Python文件操作、Excel对象模型、Excel图形绘制、Excel图表绘制、字典在Excel中的应用、正则表达式在Excel中的应用、使用pandas包提高数据处理效率、使用Matplotlib包绘图、Python与ExcelVBA混合编程等。

本书适合任何对ExcelPython脚本开发感兴趣的朋友阅读,可以是有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。

作者简介

童大谦

具有15年以上VB、VBA、.NET开发经验,开发了多个数学、数据分析与可视化方面的软件,以及与科研院所合作开发了若干个软件系统。

对Python、MATLAB、SPSS、R等数据分析软件非常熟悉,出版多本相关图书。曾在高校执教,CSDN高级讲师,全网学员目前近20万人。

目录

语言基础篇
第1章Python语言基础 2
1.1Python语言及其编程环境 2
1.1.1Python语言及其特点 2
1.1.2下载和安装Python 3
1.1.3Python语言的编程环境 4
1.2常量和变量 7
1.2.1常量 8
1.2.2变量及其名称 9
1.2.3变量的声明、赋值和删除 9
1.2.4深入变量 11
1.2.5变量的数据类型 12
1.3数字 12
1.3.1整型数字 12
1.3.2浮点型数字 13
1.3.3复数 13
1.3.4类型转换 14
1.3.5Python的整数缓存机制 15
1.4字符串 16
1.4.1创建字符串 16
1.4.2索引和切片 17
1.4.3转义字符 17
1.4.4字符串的格式化输出 18
1.4.5字符串的长度和大小写 20
1.4.6字符串的分割、连接和删除 21
1.4.7字符串的查找和替换 22
1.4.8字符串的比较 23
1.4.9字符串缓存机制 24
1.5列表 25
1.5.1创建列表 25
1.5.2添加列表元素 28
1.5.3索引和切片 29
1.5.4删除列表元素 31
1.5.5列表的排序 32
1.5.6操作函数 32
1.5.7二维列表 33
1.6元组 34
1.6.1元组的创建和删除 34
1.6.2索引和切片 35
1.6.3基本运算和操作 36
1.7字典 37
1.7.1字典的创建 37
1.7.2索引 38
1.7.3字典元素的增删改 39
1.7.4字典数据的格式化输出 40
1.8集合 41
1.8.1集合的创建 41
1.8.2集合元素的添加和删除 42
1.8.3集合的运算 42
1.9处理日期和时间 45
1.9.1获取日期和时间 45
1.9.2格式化日期和时间 46
1.10表达式 47
1.10.1算术运算符 47
1.10.2关系运算符 48
1.10.3逻辑运算符 49
1.10.4赋值/成员/身份运算符 50
1.10.5运算符的优先级 50
1.11流程控制 52
1.11.1判断结构 52
1.11.2循环结构——for循环 57
1.11.3循环结构——while循环 61
1.11.4其他结构 63
1.12函数 65
1.12.1内部函数 65
1.12.2标准模块函数 67
1.12.3自定义函数 69
1.12.4变量的作用范围 75
1.12.5匿名函数 77
1.13模块 77
1.13.1内置模块和第三方模块 77
1.13.2自定义模块 78
1.14工程 79
1.14.1导入内置模块和第三方模块 79
1.14.2导入自定义模块 80
1.15异常处理 81
1.15.1常见的异常 81
1.15.2异常捕获——单分支的情况 82
1.15.3异常捕获——多分支的情况 83
1.15.4异常捕获——try…except…else… 84
1.15.5异常捕获——try...finally... 84
第2章Python文件操作 86
2.1使用Python的open函数操作文件 86
2.1.1open函数 86
2.1.2创建文本文件并写入数据 87
2.1.3读取文本文件数据 89
2.1.4向文本文件中追加数据 90
2.1.5读/写二进制文件数据 91
2.1.6使用struct模块读取二进制文件 92
2.2使用OS模块操作文件 93
2.2.1文件操作 93
2.2.2目录操作 95
2.2.3路径操作 96
2.2.4系统操作 97
对象模型篇
第3章Excel对象模型:
OpenPyXl包 100
3.1OpenPyXl包概述 100
3.1.1Excel相关Python包的比较 100
3.1.2OpenPyXI包及其安装 101
3.1.3Excel对象模型 101
3.1.4使用OpenPyXI包的一般过程 102
3.2工作簿对象 102
3.2.1创建、保存和关闭工作簿 102
3.2.2打开已有的工作簿文件 103
3.3工作表对象 104
3.3.1创建和删除工作表 104
3.3.2管理工作表 105
3.3.3引用工作表 106
3.3.4复制、移动工作表 106
3.3.5行/列操作 107
3.3.6工作表对象的其他属性和方法 113
3.4单元格对象 114
3.4.1单元格的引用和赋值 114
3.4.2引用单元格区域 115
3.4.3操作单元格区域 116
3.4.4设置单元格样式 117
3.4.5插入图片 128
3.4.6插入公式 129
3.5综合应用 129
3.5.1批量新建和删除工作表 129
3.5.2按列拆分工作表 131
3.5.3将多个工作表分别保存为工作簿 133
3.5.4将多个工作表合并为一个工作表 134
第4章Excel对象模型:win32com和xlwings包 137
4.1win32com和xlwings包概述 137
4.1.1win32com包及其安装 137
4.1.2xlwings包及其安装 139
4.2Excel对象 139
4.2.1Excel对象及其层次结构 139
4.2.2使用win32com创建Excel对象 140
4.2.3使用xlwings创建Excel对象 140
4.2.4xlwings的两种编程方式 141
4.3单元格对象 141
4.3.1引用单元格 142
4.3.2引用整行和整列 145
4.3.3引用区域 147
4.3.4引用所有单元格/特殊区域/区域的集合 151
4.3.5扩展引用当前工作表中的单元格区域 154
4.3.6引用末行或末列 156
4.3.7引用特殊的单元格 158
4.3.8获取区域的行数、列数、左上角
和右下角单元格的坐标、形状、
大小 159
4.3.9插入单元格或区域 161
4.3.10选择和清除单元格 162
4.3.11复制、粘贴、剪切和删除单元格 164
4.3.12设置单元格的名称、批注和字体 168
4.3.13设置单元格的对齐方式、背景色和边框 172
4.4工作表对象 175
4.4.1相关对象介绍 175
4.4.2创建和引用工作表 175
4.4.3激活、复制、移动和删除工作表 179
4.4.4隐藏和显示工作表 182
4.4.5选择行和列 183
4.4.6复制、剪切行和列 185
4.4.7插入行和列 187
4.4.8删除行和列 189
4.4.9设置行高和列宽 191
4.5工作簿对象 193
4.5.1创建和打开工作簿 193
4.5.2引用、激活、保存和关闭工作簿 195
4.6Excel应用对象 197
4.6.1Application(App)对象和Apps对象 197
4.6.2定义位置、大小、标题、可见性和状态属性 199
4.6.3定义其他常用属性 201
4.7数据读/写 202
4.7.1Excel工作表与Python列表之间的数据读/写 203
4.7.2Excel工作表与Python字典之间的数据读/写 207
4.7.3Excel工作表与PythonDataFrame之间的数据读/写 208
4.8综合应用 208
4.8.1批量新建和删除工作表 208
4.8.2按列拆分工作表 211
4.8.3将多个工作表分别保存为工作簿 215
4.8.4将多个工作表合并为一个工作表 217
图形图表篇
第5章使用Python绘制Excel图形 224
5.1创建图形 224
5.1.1点 224
5.1.2直线段 226
5.1.3矩形、圆角矩形、椭圆形和圆形 226
5.1.4多义线和多边形 228
5.1.5曲线 229
5.1.6标签 230
5.1.7文本框 231
5.1.8标注 231
5.1.9自选图形 233
5.1.10图表 234
5.1.11艺术字 235
5.2图形属性设置 237
5.2.1颜色设置 237
5.2.2线条属性:LineFormat对象 239
5.2.3线条属性:颜色、线型和线宽 240
5.2.4线条属性:箭头、透明度和图案填充 241
5.2.5线条属性:多义线、曲线和多边形的顶点 243
5.2.6面的属性:FillFormat对象、颜色和透明度 245
5.2.7面的属性:单色填充和渐变色填充 246
5.2.8面的属性:图案填充、图片填充和纹理填充 250
5.2.9文本属性 253
5.3图形变换 254
5.3.1图形平移 254
5.3.2图形旋转 255
5.3.3图形缩放 255
5.3.4图形翻转 256
5.4其他图形操作 257
5.4.1遍历工作表中的图形 257
5.4.2固定图形在工作表中的位置 260
5.4.3动画 260
5.5图片操作 261
5.5.1创建图片 261
5.5.2图片的几何变换 262
第6章使用Python绘制Excel图表 263
6.1创建图表 263
6.1.1使用xlwings包创建图表 263
6.1.2使用API方式创建图表 265
6.1.3使用Shapes对象创建图表 266
6.1.4绑定数据 269
6.2图表及其序列设置 270
6.2.1设置图表类型 270
6.2.2Chart对象的常用属性和方法 271
6.2.3设置序列 272
6.2.4设置序列中单个点的属性 274
6.3基本图形元素的属性设置 276
6.3.1设置颜色 276
6.3.2设置线形图形元素的属性 277
6.3.3设置区域的透明度和颜色填充 277
6.3.4设置区域的图案/图片/纹理填充 279
6.4坐标系设置 280
6.4.1设置Axes对象和Axis对象 280
6.4.2设置坐标轴标题 281
6.4.3设置数值轴取值范围 282
6.4.4设置刻度线 283
6.4.5设置刻度标签 283
6.4.6设置网格线 285
6.4.7设置多轴图 286
6.4.8设置对数坐标图 287
6.4.9设置其他属性 288
6.5图表元素设置 290
6.5.1SetElement方法 290
6.5.2设置图表区域/绘图区 292
6.5.3设置图例 293
6.6输出图表 294
6.6.1将图表复制到剪贴板 295
6.6.2将图表保存为图片 296
数据处理篇
第7章使用Python字典处理Excel数据 298
7.1数据提取 298
7.1.1提取首次数据 298
7.1.2提取末次数据 300
7.2数据去重 302
7.2.1使用列表去重 302
7.2.2使用集合去重 304
7.2.3使用字典去重 305
7.2.4使用字典对象的fromkeys方法去重 306
7.2.5多表去重 308
7.2.6跨表去重 309
7.3数据查询 312
7.3.1个案查询 312
7.3.2多条件查询 313
7.4数据汇总 314
7.4.1出现次数汇总 315
7.4.2数据求和汇总 316
7.4.3多条件汇总 318
7.5数据排序 319
第8章使用Python正则表达式处理Excel数据 322
8.1正则表达式概述 322
8.1.1什么是正则表达式 322
8.1.2正则表达式示例 323
8.2在Python中使用正则表达式 325
8.2.1re模块 325
8.2.2Match对象 330
8.2.3Pattern对象 332
8.3正则表达式的编写规则 334
8.3.1元字符 334
8.3.2重复 338
8.3.3字符类 343
8.3.4分支条件 344
8.3.5捕获分组和非捕获分组 345
8.3.6零宽断言 349
8.3.7负向零宽断言 351
8.3.8贪婪匹配与懒惰匹配 353
第9章更快、更简洁:使用pandas包处理数据 354
9.1NumPy和pandas包概述 354
9.1.1NumPy和pandas包简介 354
9.1.2NumPy和pandas包的安装 355
9.2NumPy和pandas包提供的数据类型 355
9.2.1NumPy数组 355
9.2.2pandasSeries 359
9.2.3pandasDataFrame 363
9.3数据输入和输出 370
9.3.1Excel数据的读/写 370
9.3.2CSV数据的读/写 373
9.3.3将DataFrame数据保存到新的工作表中 374
9.3.4在同一个工作表中读/写多个DataFrame数据 375
9.4数据整理 377
9.4.1添加行或列 377
9.4.2插入行或列 378
9.4.3更改数据 380
9.4.4删除行或列 381
9.4.5添加前缀或后缀 382
9.4.6数据去重 383
9.4.7数据筛选 383
9.4.8数据转置 385
9.4.9合并数据 385
9.4.10连接数据 393
9.4.11拼接数据 395
9.4.12追加数据 397
第10章扩展Excel的数据可视化功能:Matplotlib包 398
10.1Matplotlib包概述 398
10.1.1Matplotlib包简介 398
10.1.2安装Matplotlib包 399
10.2使用Matplotlib包绘图 399
10.2.1点图 399
10.2.2线形图 401
10.2.3条形图 404
10.2.4面积图 406
10.2.5饼图 407
10.3导出用Matplotlib包绘制的图形 408
10.3.1保存用Matplotlib包绘制的图形 408
10.3.2将用Matplotlib包绘制的图形添加到Excel工作表中 409
扩展编程篇
第11章Python与ExcelVBA混合编程 412
11.1在Python中调用VBA代码 412
11.1.1ExcelVBA编程环境 412
11.1.2编写ExcelVBA程序 414
11.1.3在Python中调用VBA函数 414
11.2在VBA中调用Python代码 415
11.2.1xlwings加载项 415
11.2.2编写Python文件 417
11.2.3在VBA中调用Python函数 418
11.2.4xlwings加载项使用避坑指南 419
11.3自定义函数(UDF) 420
11.3.1使用VBA自定义函数 420
11.3.2在VBA中调用Python自定义函数的准备工作 421
11.3.3在VBA中调用Python自定义函数 421
11.3.4常见错误 422
······

最后修改:2024 年 02 月 27 日