如果要进行大规模数据处理,很多人都会告诉你可以使用 Python,它是当今最流行的编程语言之一。但在专用于处理数据的 Excel 上我们却一直只能用 VBA。这么多年,为什么官方还不出来改进一下?
近日,微软宣布正在将流行编程语言 Python 引入了 Excel。该功能的公共预览版现已推出,Excel 用户现在就可以操作和分析来自 Python 的数据了。
从功能区栏中选择「公式」 ,选择「插入 Python」,然后单击「尝试预览」:

「现在,人们可以使用 Python 及其关联的库在 Excel 中操作和探索数据,然后使用 Excel 的公式、图表和数据透视表进一步寻找解释,」微软产品营销总经理 Stefan Kinnestrand 表示。「通过直接从 Excel 功能区访问 Python,我们可以在熟悉的 Excel 环境中进行高级数据分析。」

这是一个官方提供的基础能力,我们无需安装任何其他软件或设置插件即可直接使用,因为 Excel 中的 Python 集成将成为 Excel 内置连接器和 Power Query 的一部分。
与此同时,微软还添加了一个新的 PY 函数,允许在 Excel 电子表格的网格中公开 Python 数据。通过与企业 Python 存储库 Anaconda 合作,很多流行的 Python 库,如用于数据操作的 pandas、用于高级统计建模的 statsmodels 和面向数据可视化的 Matplotlib、seaborn 也将在 Excel 中可用。

使用新版 Excel 时,我们可以像在 Microsoft Teams 和 Microsoft Outlook 中共享式办公一样对表格内容进行 @ 和共同编辑,微软表示,即使有团队成员没有激活 Excel 中的 Python 能力,他们也可以刷新 Excel 分析中的 Python 以获取最新信息。

值得关注的是,在这里,Python 的计算在微软云 Azure 中以隔离的容器方式运行,结果返回到 Excel 工作表中,不会访问设备、外部网络或用户 token。微软声称,Python 和 Excel 只能通过有限的函数(xl () 和 =PY ())进行相互通信,这些函数只能返回代码结果,而不能返回宏、VBA 代码或其他数据。
Excel 用户将能够创建基于 Python 数据的公式、数据透视表和图表,并能够引入 Matplotlib 和 Seaborn 等图表库来实现热图、小提琴图(violin plots)和群图等可视化效果。
「很高兴 Python 和 Excel 的这种出色、紧密的工具现在被集成在了一起,」Python 创建者、现任 Microsoft 杰出工程师 Guido van Rossum 表示。「我希望两个社区都能在这次合作中找到有趣的新用途,增强每个合作伙伴的能力。三年前我加入微软时,还无法想象这会成为可能。」
Python 加持的 Excel 已在 8 月 23 日作为 Microsoft 365 Insiders 的公共预览版在 Beta 频道中推出(版本 16818)。它将首先仅限于 Windows,稍后可用于其他平台。微软表示在预览期间,Excel 中的 Python 将包含在 Microsoft 365 订阅中,但在预览结束后,「如果没有付费许可证,某些功能将受到限制」。
参考内容:
https://www.theverge.com/2023/8/22/23841167/microsoft-excel-python-integration-support
https://techcommunity.microsoft.com/t5/microsoft-365-blog/introducing-python-in-excel-the-best-of-both-worlds-for-data/ba-p/3905482
https://github.com/microsoft/python-in-excel