前言
Python 可以为 Excel 做些什么?如果你经历过工作簿意外崩溃、计算出错,并且需要执行枯燥的手动操作,那么肯定想知道这个问题的答案。Excel 一直是金融界的基础性工具,但是有大量的 Excel 应用程序用处不大。当 Excel 工作簿保存了太多的数据和公式时,它们就会变得越来越慢甚至崩溃,这样的事屡见不鲜。
从 Excel 到 Python 是一种自然的过渡。虽然直接丢掉 Excel 的想法很吸引人,但 Excel 不会消失,它会作为一种用途广泛的桌面工具持续存在于企业和家庭中。本书架起了连接这两个世界的桥梁。书中解释了你应该如何将 Python 集成到 Excel 中,以及如何从躲都躲不掉的巨型工作簿、上千个公式、奇形怪状的 VBA 代码中解脱。
自动化能够避免人为错误的发生,并且能够让你把更多的时间花在更具生产力的任务上——而不是花大量时间把数据复制并粘贴到 Excel 工作表中。既然你已经知道为何 Python 可以成为 Excel 的'好伙伴',那么是时候配置好环境,开始写你的第一行 Python 代码了!
开发环境
2.1.1 安装
前往 Anaconda 主页下载最新版的 Anaconda 安装器(个人版,Individual Edition)。要确保下载的是 Python 3.x 版本的 64 位图形化安装器。下载完成之后,双击安装器开始安装,确保所有选项保持默认值。更详细的安装过程请参照 Anaconda 官方文档。
安装好 Anaconda 之后,就可以启动 Anaconda Prompt 开始学习了。下面来看看这是个什么东西,又是如何工作的。
2.1.2 Anaconda Prompt
Anaconda Prompt 实际上就是 Windows 中的一个命令提示符或者 macOS 中的终端,只不过它配置好了 Python 解释器和第三方包。Anaconda Prompt 是执行 Python 代码的最基本的工具,本书会大量使用它来执行 Python 脚本和各种包提供的命令行工具。
2.1.3 Python REPL:交互式 Python 会话
在 Anaconda Prompt 中,可以通过执行 python 命令启动一个交互式 Python 会话:
(base) C:\Users\felix>python
Python 3.8.5 (default, Sep 3 2020, 21:29:08) [...]
:: Anaconda, Inc. on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
macOS 终端中显示的文本可能有些不一样,但是道理都是一样的。本书是按照 Python 3.8 版本撰写的,如果你想用更新的版本,一定要看一下本书主页上的说明。
2.1.4 包管理器:Conda 和 pip
我在前面提到过 Python 的包管理器 pip,它负责下载、安装、更新和卸载 Python 包及其依赖项和子依赖项。虽然 Anaconda 也可以配合 pip 工作,但是它还有一个名为 Conda 的内置包管理器。Conda 的一大优势是不仅可以安装 Python 包,还可以安装多种版本的 Python 解释器。一言以蔽之:软件包可以为 Python 添加标准库中所没有的功能。第 5 章将介绍的 pandas 就是这样的包。由于 Anaconda Python 发行版已经预装好了这些包管理器,因此就不需要我们手动安装了。
2.1.5 Conda 环境
你可能很好奇 Anaconda Prompt 每行开头的 (base) 到底是什么。它是当前激活的 Conda 环境的名称。Conda 环境是一个被隔离的'Python 世界',有着特定版本的 Python 和一系列安装好的包。为什么非要这么做呢?当你同时开发多个项目的时候,各个项目会有不同的需求:一个项目可能需要 Python 3.8 和 pandas 0.25.0,而另一个项目可能需要 Python 3.9 和 pandas 1.0.0。由于为 pandas 0.25.0 编写的代码往往需要进行修改才能用到 pandas 1.0.0 上,因此不能只更新 Python 和 pandas 而保持代码原封不动。为每个项目都配置一个 Conda 环境可以保证它们使用正确的依赖项运行。Conda 环境虽然是 Anaconda 发行版的专有概念,但虚拟环境是所有 Python 发行版的通用概念。相比之下 Conda 环境更加强大,因为它不仅可以管理多个版本的软件包,还可以轻松管理不同版本的 Python 解释器。


