第一部分 Python入门
第1章 为什么要用Python为Excel编程
每当工作表工具碰到瓶颈,Excel用户就会开始质疑这些工具。当Excel工作簿保存了太多的数据和公式时,它们就会变得越来越慢甚至崩溃,这样的事屡见不鲜。不过在事态变得严重之前,或许应该先思考一下你的工作方式。比如你处理的是十分重要的工作簿——一旦发生错误便会造成经济损失或名誉损失;又或者你每天都要花上几小时来手动更新Excel工作簿。如果碰到上述情形,那么你就应该学习一下如何用一门编程语言来自动化这些操作。自动化能够避免人为错误的发生,并且能够让你把更多的时间花在更具生产力的任务上——而不是花大量时间把数据复制并粘贴到Excel工作表中。
在本章中,我会告诉你为什么把Python用到Excel上是明智之举,它和Excel内置的自动化语言VBA 相比又有什么优势。在简要介绍Excel如何作为编程语言及其特殊性之后,我会指出Python 究竟比VBA 强在哪儿。不过,作为开场白,先来看看两位主角的背景故事吧。
作为两种计算机技术来说,Excel和Python都有悠久的历史。微软在1985年发布了Excel,不过令很多人吃惊的是,它当时只支持Apple Macintosh。一直到1987年,Excel2.0 才登上微软的Windows 平台。不过微软并非表格软件市场的第一位玩家,VisiCorp在1979年发布了VisiCalc,随后Lotus Software在1983年发布了Lotus 1-2-3。而且,Excel也不是微软的第一款表格软件,1982年微软推出了用于MS-DOS的表格软件Multiplan,但没有Windows 版本。
在Excel诞生6年后的1991年,Python横空出世。但是直到被用于Web 开发和系统管理的时候,Python 才成为一门热门语言。而那时,Excel早已成为流行的表格软件。2005年,用于数组运算和线性代数的软件包 NumPy发布,这使得 Python 逐渐成为科学计算的可选语言之一。NumPy将过去的两个软件包合二为一,提高了科学计算相关项目的开发效率。如今 NumPy成了无数科学计算软件包的基石,这其中就包括pandas。pandas 于2008年面世,2010年之后Python在数据科学和金融领域的广泛运用,很大程度上要归功于pandas。多亏了pandas,Python和R 才能成为处理数据科学任务(比如数据分析、统计和机器学习)时最常用的语言。
历史悠久并非 Python和Excel的唯一共同点,还有一点就是,它们都是编程语言。你可能会有这样的疑问:Python 自然是编程语言,不过Excel怎么会是编程语言呢?且听我慢慢道来。