几乎使用过 Excel 的人都有过一些“可怕”的经历,比如小数放错位置、缺少减号、拙劣的剪切和粘贴,或者其他一些可能造成重大后果的小错误。如果够幸运,我们自己会发现这些错误。但有时,一个无辜的电子表格错误可能会造成严重破坏,它可能会使公司损失数百万美元。

你觉得在 Excel 中犯下的错误会造成多大的损失呢?

顶级投行摩根大通用惨痛的教训给出了答案:62 亿美元!

打开网易新闻 查看精彩图片

事情是这样的。摩根大通位于伦敦的首席投资办公室(Chief Investment Office)曾指派量化专家为其合成信贷组合构建一个新的在险价值模型。这种模型常用于市场风险测量和管理。2012 年 1 月,这个新模型被摩根大通正式采用。

长期以来,摩根大通一直拥有很好的风险控制管理声誉,甚至成功在次贷危机中全身而退。而正是这个模型,让它出现了震惊金融界的巨额亏损。

令人唏嘘的是,摩根大通在事后的调查报告中提到,这个模型的问题竟然和 Excel 有关: 这个模型用到一系列 Excel 工作表。 需要不断把数据从一张工作表复制并粘贴到另一张工作表,并且必须手动完成。

其实,摩根大通的内部模型检查组曾发现了该问题,但仍然通过了模型,仅提出一些修改条件,包括应该将手动操作自动化。

事后调查发现,该模型不仅并未被自动化,还存在其他一些严重错误,比如在 Excel 工作表中本应该除以平均数,却除以了总和。这些错误导致该模型严重低估了投资组合的实际亏损风险。

这起巨额亏损事件被称为“伦敦鲸事件”,以摩根大通首席投资办公室的一位交易员的绰号命名。

“伦敦鲸事件”是最骇人听闻的 Excel 事故之一。 难怪技术专栏作者 Alex Hern 在“伦敦鲸事件”之后质问道:“Excel 是不是世界上最危险的软件?”

对于频出的 Excel 事故,Excel专家Felix Zumstein 在其著作《Excel+Python:飞速搞定数据分析与处理》中总结道:“归根结底,Excel 在处理当下的海量数据时,已经力不从心。”

你可能会说:“可以用 VBA 来做 Excel 自动化啊!”但 VBA 显然有它自己的问题。但 Python 不一样,它是一门通用的编程语言,并且已然成为最受数据分析师青睐的语言。如果把 Python 用到 Excel 上,那么你在各方面都能体会到 Python 带来的好处,无论是自动化 Excel,访问、准备数据集,还是执行数据分析和可视化数据。

或许这是因为这样的原因,才有大量 Excel 用户向微软提出请求,最终将 Python 集成 Excel!

Excel+Python珠联璧合

Excel 的主要功能是存储、分析和可视化数据。Python 则在科学计算方面极其强大,天生就适合搭配 Excel 工作。

《Excel+Python》的作者 Felix Zumstein 是 xlwings 的创始人。他这样描述自己的写作初衷:“ 我撰写本书的原动力在于这样一个事实: 我们生活在一个充满数据的世界之中。 如今,庞大的数据集涉及各个领域,可供任何人访问。 而这些数据集常常大到一张工作表难以容纳。 我会告诉你为什么把 Python 用到 Excel 上是明智之举,它和 Excel 内置的自动化语言 VBA 相比又有什么优势。”

打开网易新闻 查看精彩图片

《Excel+Python:飞速搞定数据分析与处理》

[瑞士]费利克斯•朱姆斯坦|著

冯黎|译

内容概览

流行 Python 库 xlwings 创始人亲授,全书分为四个部分,作者手把手教你如何让 Excel 快得飞起来!即使你没有 Python 编程经验,也可以轻松上手。

第一部分,Python 入门。 在介绍工具之前,作者会教授足够的 Python 知识,以便你掌握本书的剩余部分。

第二部分,pandas 入门。 pandas 是值得信赖的 Python 数据分析库。作者在这里将会介绍 如何利用 Jupyter 笔记本和 pandas 来替代 Excel 工作簿。 pandas 的代码通常更易于维护,并且效率比 Excel 工作簿更高。 不仅如此,你还可以用它来操作一张工作表放不下的数据集。 和 Excel 不同,pandas 让你的代码可以在任何环境中运行,包括云端。

第三部分,在 Excel 之外读写 Excel 文件。 这一部分作者讲的是如何运用 Python 包来操作 Excel 文件,比如 pandas、OpenPyXL、XlsxWriter、pyxlsb、xlrd 和 xlwt。 这些包能够代替 Excel 直接读写磁盘上的 Excel 工作簿,也就是说,你不需要实际安装 Excel 就能进行这些操作。 这些包可以在任何支持 Python 的平台上工作,包括 Windows、macOS 和 Linux。

对于读取 Excel 文件的包来说,一个典型用例就是每天早上你用它读取从其他公司或者外部系统发来的 Excel 文件中的数据,然后将这些数据存储在数据库中。 而对于写入 Excel 文件的包来说,你在各种应用程序中都能看到的“导出为 Excel 文件”按钮,背后就是它的功劳。

第四部分,使用 xlwings 对 Excel 应用程序进行编程。这部分。作者教会我们如何使用 Python 和 xlwings 来自动化 Excel,而不是直接读写磁盘上的 Excel 文件。因此,这部分内容需要你在本地安装好 Excel。我们会学习如何打开 Excel 工作簿并实际操作它们。除了通过 Excel 读写文件,我们还会构建一些交互式 Excel 工具,从而可以一键让 Python 执行一些过去你通过 VBA 宏来完成的工作(比如运算量极大的计算)。

大咖推荐

Python 可以为 Excel 做些什么?如果你经历过工作簿意外崩溃、计算出错,并且需要执行枯燥的手动操作,那么肯定想知道这个问题的答案。这本书是为工作表软件用户准备的一本全面又简明扼要的 Python 入门指南。不要因为害怕学习编程就避而远之,费利克斯为学习 Python 提供了一个极佳的切入点,即便是经验丰富的程序员也能从中获益。

同时,他将这本书的内容进行了合理的编排,使得像你一样的 Excel 用户更易于理解和应用。你很快就会发现,作者经验丰富,有着多年的教学和实践经验,可以指导人们如何在 Python 的帮助下最大化地发挥 Excel 的能力。如果你想知道 Excel 结合 Python 有何潜能,那么费利克斯是回答这个问题的不二人选。希望你能像我一样喜欢这堂大师课程。

——George Mount,Stringfest Analytics 创始人

从 Excel 到 Python 是一种自然的过渡,并且 Python 会让人想要直接丢掉 Excel。虽然这种想法很吸引人,但是要直接丢掉 Excel 还是不那么现实。Excel 不会消失,它会作为一种用途广泛的桌面工具持续存在于企业和家庭中。这本书架起了连接这两个世界的桥梁。书中解释了你应该如何将 Python 集成到 Excel 中,以及如何从躲都躲不掉的巨型工作簿、上千个公式、奇形怪状的 VBA 代码中解脱。这本书可能是我读过的关于 Excel 的书之中最有用的一本,并且是每一位高级 Excel 用户的必读书目。强烈推荐!

——Andreas F. Clenow,Acies Asset Management 首席信息官,畅销书《趋势交易》《趋势永存》以及 Trading Evolved 的作者

Excel 一直是金融界的基础性工具,但是有大量的 Excel 应用程序用处不大。这本书很好地教会了读者如何在 xlwings 的帮助下构建更优秀、更健壮的 Excel 应用程序。

——Werner Brönnimann,金融衍生品和去中心化金融从业者,Ubinetic AG 联合创始人

Excel 和 Python 是商业分析工具箱中最重要的两种工具,将两者结合可谓珠联璧合。在这本书中,费利克斯 • 朱姆斯坦利用各种开源、跨平台的解决方案,展现了他在结合 Python 和 Excel 方面过人的精湛技艺。对于商业分析师、数据科学家,以及每一位希望将 Excel 的能力注入代码中的 Python 用户来说,这本书都是他们的无价之宝。

——Daniel Guetta,哥伦比亚大学商学院职业训练专业副教授,商业分析计划主任,Python for MBAs 合著者

打开网易新闻 查看精彩图片