在数据分析方面,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脚本开发感兴趣的朋友阅读,可以是有编程需求的职场办公人员、数据分析人员、大学生、科研人员和程序员等。
为方便读者学习,本书大部分案例的数据和代码均可下载,下载方式请见本书封底。
联系作者
本书写作近一年,书稿经过反复修改,但尽管如此,因笔者水平有限,书中错误和不足之处仍在所难免,恳请读者朋友批评与指正。
作 者