代替VBA!用Pyhton轻松实现Excel编程
  • 推荐1
  • 收藏3
  • 浏览628

代替VBA!用Pyhton轻松实现Excel编程

苏金明 (作者) 

  • 书  号:978-7-121-42319-2
  • 出版日期:2022-01-05
  • 页  数:432
  • 开  本:16(185*235)
  • 出版状态:上市销售
  • 维护人:王静
纸质版 ¥89.90
在数据分析方面,Python实际上已经远远超越VBA,因为使用Pyhton提供的数据处理函数和模块就可以实现很多功能,既快速、可靠又简便。
本书结合OpenPyXl、win32com、xlwings和pandas等Python包全面介绍使用Python实现Excel脚本开发的各种可能性,涉及的内容包括:Python语言基础、Python文件操作、Excel对象模型、Excel图形绘制、Excel图表绘制、字典在Excel中的应用、正则表达式在Excel中的应用、使用Pandas包提高数据处理效率、使用Matplotlib包绘图、Python与Excel VBA混合编程等。
本书适合任何对Excel Python脚本开发感兴趣的朋友阅读,可以是有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。
VBA能做的Python也能做!
详解xlwings,让Excel飞!
前言



本书的出发点
Python是目前最受欢迎的计算机语言之一,近年来,在TIOBE和IEEE等编程语言排行榜上长期占据前三的位置。在国内,Python也在逐步替代原来的Basic语言,成为小学、中学和大学的学生学习计算机编程入门的首选语言。所以,不难推断,当前希望首选Python语言进行Excel脚本编程以提高工作效率的朋友已经很多,而且会越来越多,这是我们决定撰写本书的初衷。
目前微软公司并没有推出官方的Python脚本语言,但是市面上与Excel有关的各种第三方Python包层出不穷,包括xlrd、xlwt、OpenPyXl、XlsxWriter、win32com、comtypes、xlwings和pandas等。使用这些Python包,特别是最后4个,可以说VBA能做的事情,使用Python基本上也能做。在数据分析方面,Python实际上已经远远超越VBA,因为很多功能不需要自己编程了,有大量现成的数据处理函数和模块可以使用,既快速、可靠,又简便。
本书内容
本书以xlwings包为主线,介绍使用Python实现Excel脚本开发的各种可能性。本书的内容具有系统性和逻辑性,在讲解上遵循从简单到复杂、循序渐进的原则,并且实例丰富。全书共有11章,涵盖了Python语言基础、Excel办公自动化和数据分析编程的主要内容。
第1章介绍Python语言基础,从最基本的变量开始讲解,接下来是表达式、流程控制、函数、模块和工程等。
第2章介绍Python文件操作。使用Python的open函数和OS模块,可以实现文本文件和二进制文件的打开、追加和保存等操作,也可以操作目录、路径等。对Excel文件的操作,可以通过书中介绍的与Excel有关的Python包来实现。
第3章和第4章介绍与Excel对象模型有关的几个Python包,包括OpenPyXl、win32com和xlwings等。这几个包提供了与工作簿、工作表、单元格和图表等相关的对象。
第5章介绍如何使用Python绘制Excel图形,包括各种图形元素的绘制和编辑、几何变换、遍历图形和创建动画等操作。
第6章介绍如何使用Python绘制Excel图表。学习完本章后,不仅能设置图表的类型,还能对复合图表中的序列、序列中的数据点、组成图表的线形图形元素和区域图形元素等进行属性设置。
第7章介绍Python字典在Excel中的应用。利用字典的特点,可以对Excel数据进行数据提取、去重、查询、汇总和排序等操作。
第8章介绍正则表达式的编写规则,以及如何在Python中使用正则表达式进行文本查找和替换等。
第9章介绍如何使用pandas包处理数据。在VBA中,对数据进行处理大多需要自己编写程序来实现,而使用pandas包可以直接调用这些函数。所以,使用pandas处理数据比用VBA处理要快,而且代码更简洁。
第10章简单介绍Matplotlib包提供的数据可视化功能。使用xlwings包,可以很方便地把用Matplotlib包绘制的图形嵌入Excel工作表中。
第11章介绍Python与Excel VBA的混合编程。使用xlwings包,可以在Python中调用VBA函数,或者在VBA编程环境中调用Python代码和使用Python自定义函数。
本书为谁而写
首先,本书是为不懂VBA但有Excel脚本编程需求的朋友编写的;其次,本书也适合任何对Excel Python脚本开发感兴趣的朋友阅读,可以是有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。
为方便读者学习,本书大部分案例的数据和代码均可下载,下载方式请见本书封底。
联系作者
本书写作近一年,书稿经过反复修改,但尽管如此,因笔者水平有限,书中错误和不足之处仍在所难免,恳请读者朋友批评与指正。

作 者

目录

语言基础篇
第1章 Python语言基础 2
1.1 Python语言及其编程环境 2
1.1.1 Python语言及其特点 2
1.1.2 下载和安装Python 3
1.1.3 Python语言的编程环境 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.5 Python的整数缓存机制 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.1 open函数 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.1 OpenPyXl包概述 100
3.1.1 Excel相关Python包的比较 100
3.1.2 OpenPyXI包及其安装 101
3.1.3 Excel对象模型 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.1 win32com和xlwings包概述 137
4.1.1 win32com包及其安装 137
4.1.2 xlwings包及其安装 139
4.2 Excel对象 139
4.2.1 Excel对象及其层次结构 139
4.2.2 使用win32com创建Excel对象 140
4.2.3 使用xlwings创建Excel对象 140
4.2.4 xlwings的两种编程方式 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.6 Excel应用对象 197
4.6.1 Application(App)对象和Apps
对象 197
4.6.2 定义位置、大小、标题、可见性
和状态属性 199
4.6.3 定义其他常用属性 201
4.7 数据读/写 202
4.7.1 Excel工作表与Python列表之间
的数据读/写 203


4.7.2 Excel工作表与Python字典之间
的数据读/写 207
4.7.3 Excel工作表与Python DataFrame
之间的数据读/写 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.2 Chart对象的常用属性和方法 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.1 SetElement方法 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.1 re模块 325
8.2.2 Match对象 330
8.2.3 Pattern对象 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.1 NumPy和pandas包概述 354
9.1.1 NumPy和pandas包简介 354
9.1.2 NumPy和pandas包的安装 355
9.2 NumPy和pandas包提供的数据
类型 355

9.2.1 NumPy数组 355
9.2.2 pandas Series 359
9.2.3 pandas DataFrame 363
9.3 数据输入和输出 370
9.3.1 Excel数据的读/写 370
9.3.2 CSV数据的读/写 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.1 Matplotlib包概述 398
10.1.1 Matplotlib包简介 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与Excel VBA混合
编程 412
11.1 在Python中调用VBA代码 412
11.1.1 Excel VBA编程环境 412
11.1.2 编写Excel VBA程序 414
11.1.3 在Python中调用VBA函数 414
11.2 在 VBA中调用Python代码 415
11.2.1 xlwings加载项 415
11.2.2 编写Python文件 417
11.2.3 在VBA中调用Python函数 418
11.2.4 xlwings加载项使用避坑指南 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

读者评论

相关博文

  • Python代替Excel VBA,原来真的可以

    Python代替Excel VBA,原来真的可以

    博文小编 2022-01-18

    【本文原创:童大谦】 VBA与Python:当王者荣耀遇到卷王之王 VBA语言是VB的一个子集,具有简单易学、功能强大的特点。 上世纪90年代末至今,VBA语言被大部分主流行业软件用作脚本语言,包括办公软件如Excel、Word、...

    博文小编 2022-01-18
    795 0 0 0

推荐用户

相关图书

DAX权威指南:运用Power BI、SQL Server Analysis Services和Excel实现商业智能分析(第2版)

Alberto Ferrari (作者) 高飞 (译者)

本书是微软DAX语言在商业智能分析、数据建模和数据分析方面的指南。通过对本书的学习,你将了解如何使用DAX语言进行商业智能分析、数据建模和数据分析;你将掌握从基...

¥188.00

从Excel到Python:用Python轻松处理Excel数据

曾贤志 (作者)

本书是写给非IT领域职场办公人员的Python数据处理指南。因为本书面对的不是专业的程序员,所以在叙述上通俗易懂。为了让读者在学习时对Python的知识点有更深...

¥79.00

Power BI企业级分析与应用

雷元 (作者)

本书立足于企业应用场景,从赋能商业价值、培养员工数据分析能力和引领企业数字变革这三大角度勾勒出一套敏捷BI实践指南。<br>除提供丰富的理论指南和Power B...

¥69.80

跟储君老师学Excel极简思维

储君 (作者)

很多人认为,Excel无非就是一个电子表格软件。其实Excel更深层次的意思是Excellent(卓越)。如果你仅仅把Excel当作一个电子表格软件来使用,那么...

¥79.90

Keynote 完全手册

陈天舒(SkyChen ) (作者)

这是一本关于如何思考、设计、制作Keynote(演示文稿)的完整书籍。让读者对设计、制作 Keynote 有全新自我认识后再加以实践操作。无论读者是学生需要制作...

¥79.00

商业智能数据分析:基于Power BI 和Tableau

雷元 (作者)

本书以实际业务为背景,介绍市面上最流行的两种自助型商业分析工具—— Power BI 和 Tableau的功能和特色。全书主要内容包括基本的商业数据分析基础、B...

¥69.80