百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

微软Excel中原生支持Python语言

itomcoil 2024-12-07 13:23 33 浏览

Microsoft Excel可以说是这个星球上使用最多的数据处理和分析软件。从诞生到流行,Excel改变了人们组织、分析和可视化数据的方式。每天有几百万的用户在使用Excel数据处理分析和处理,一直以来为了使用更高级的数据处理方式,人们只能使用VBA内嵌脚本进行编程和处理。但是现在马上形势要变天了。微软宣布发布公共预览版的Excel将支持Python,用来扩展Excel的分析功能。

Excel中的Python可以在同一工作簿中本地组合Python和Excel分析-无需任何设置。 使用Excel中的Python,可以直接在单元格中键入Python,Python计算在Microsoft Cloud 中运行,结果将返回到工作表,包括绘图和可视化。


Excel 中的Python正在使用Excel for Windows中的Beta公共预览版向 Microsoft 365 Insiders计划中的人员推出。

特性

方便简捷

Excel中的Python是为分析师构建的。Excel中的Python也将直接原生集成到Excel网格中。首先,只需使用新的PY函数即可将Python代码直接输入到Excel 单元格中。

Excel用户现在可以通过Python访问强大的分析功能,以实现可视化、清理数据、机器学习、预测分析等。用户现在Excel中可以创建无缝结合Excel和Python的端到端解决方案。使用Excel的内置连接器和Power Query,用户可以轻松地将外部数据引入Excel工作流程中的Python。 Excel中的Python与用户已经熟悉和喜爱的工具兼容,例如公式、数据透视表和Excel图表等。

高级可视化

支持Python后,可充分利Matplotlib和seaborn等知名图表库的来创建各种图表,从传统的条形图和线图到热图、小提琴图和群图等专门的可视化效果。

机器学习、预测分析和预测

利用scikit-learn和statsmodels等Python库的功能来应用流行的机器学习、预测分析和预测技术,例如回归分析、时间序列建模等。


数据清理

有效利用先进的数据清理技术,例如查找缺失值、标准化格式、删除重复项以及采用正则表达式等技术进行基于模式的转换。如下图是使用正则表达式进行日期的提取:

Anaconda数据分析功能

Anaconda是全球数千万数据从业者使用的领先企业Python存储库。Excel中的 Python利用在Azure中运行的Anaconda Distribution for Python,其中包括最流行的Python库,例如 pandas、Matplotlib、scikit-learn等,并由Anaconda 安全地构建、测试和支持。Anaconda提供的Python支持在Excel中使用Python 进行广泛的分析。

安全性

Excel使用的Python代码在Microsoft云上运行,具有企业级安全性,作为兼容的Microsoft 365连接体验。Python代码使用Azure容器实例在其自己的虚拟机管理程序隔离容器中运行 ,并通过安全的软件供应链从Anaconda获得安全的源构建包。数据隐私Excel中的Python通过防止Python代码知道是谁,并在其自己单独的容器中进一步隔离从Internet打开工作簿,从而保护用户隐私。 工作簿中的数据只能通过内置xl()Python 函数发送,并且Python代码的输出只能作为=PY() Excel函数的结果返回。

团队协作

用户可以放心地在Excel工作簿中共享Python。团队成员可以在基于Excel的分析中无缝地与Python交互并刷新,而无需担心安装其他工具、Python运行时或管理库和依赖项。用户可以使用自己喜欢的协作工具(例如Microsoft Teams 和Microsoft Outlook)共享工作簿,并通过评论、@ 提及以及与同事共同创作来无缝协作,就像在Excel中一样。应用于包含Python的工作簿的敏感度标签将使它们符合有关合规性要求。

使用初步

平台可用性

Excel中的Python可在Excel for Windows中使用。该功能在 Excel for Mac、Excel 网页版、Excel for iPad、Excel for iPhone或Excel for Android中不可用。在不受支持的平台上,可以查看包含Python的工作簿,但Python单元格在重新计算时会显示错误。

Excel的Python计算在Microsoft云中使用标准版本的 Python 语言运行,并提供的一组核心Python库。Excel中的Python通过Anaconda标准、安全分发。

不需要本地版本的Python即可在Excel中使用 Python。如果的计算机上安装了本地版本的Python,则对该Python安装所做的任何自定义都不会反映在Excel 计算中的Python中。

由于Excel中的Python计算在云端运行,因此需要访问因特网才能使用该功能。

基本步骤

要开始在Excel中使用Python,请选择一个单元格,转到功能区中的“Formulas(公式)” ,然后选择“Insert Python(插入Python)”

使用函数=PY或者在单元格中来启用Python。在单元格中输入=PY 后,使用向下键和Tab键从函数自动完成菜单中选择PY,或者向函数添加左括号:“=PY(“ 然后可以直接在单元格中输入Python代码。以下屏幕截图显示了选择了PY函数的“自动补全”菜单。

在单元格中启用Python后,该单元格将显示绿色PY图标。当选择Python单元格时,公式栏会显示相同的PY图标。

单元格和范围

要在Python单元格中引用Excel对象,请确保Python单元格处于编辑模式,然后选择要包含在Python公式中的单元格或区域。 这会自动使用选择的单元格或范围的地址填充Python单元格。

提示:可使用键盘快捷键F2在Python单元格中的输入模式和编辑模式之间切换。 切换到编辑模式允许编辑Python公式,切换到输入模式允许使用键盘选择其他单元格或范围。

Excel中的Python使用自定义Python函数xl()在Excel和Python之间进行交互。xl()函数接受Excel对象,例如范围、表格、查询和名称。

函数直接在Python单元格中键入引用,还可以使xl()。 例如,要引用单元格A1,可以使用xl("A1");对于范围B1:C4,用xl("B1:C4")。对于标题名为MyTable的表,可使用xl("MyTable[#All]", headers=True)。

[#All]说明符确保在 Python 公式中分析整个表。

headers=True确保正确处理表头。

下图显示了Excel 中的Python计算,将单元格A1和B1中返回 Python结果的值相加,并在单元格C1。


公式栏

使用公式栏进行类似代码的编辑行为,例如使用Enter键新建行。使用向下箭头图标展开公式栏可一次查看多行代码。还可以使用键盘快捷键Ctrl+Shift+U来展开编辑栏。以下屏幕截图显示了编辑栏在展开以查看多行Python代码之前和之后的情况。

展开公式栏之前:


展开公式栏后:


输出类型

使用公式栏中的Python输出菜单来控制Python计算的返回方式。将计算结果返回为Python对象,或将计算结果转换为Excel值并将其直接输出到单元格。以下屏幕截图显示了以Excel值形式返回的Python公式。

提示:还可以使用右键菜单更改Python输出类型。打开右键菜单并转到“Python 输出”,然后选择所需的输出类型。


以下屏幕截图显示了与前面的屏幕截图相同的Python公式,但作为Python对象返回。当公式作为Python对象返回时,单元格会显示一个卡片图标。

注意:返回到 Excel值的公式结果将转换为最接近的 xcel等效项。如果计划在将来的Python计算中重用结果,建议将结果作为Python对象返回。 以Excel值形式返回结果允许对值运行Excel分析,例如Excel图表、公式和条件格式。

Python对象在单元格内包含附加信息。要查看附加信息,可通过选择卡片图标打开卡片。卡片中显示的信息是对象的预览,这在处理大型对象时很有用。

Excel的Python可以将多种类型的数据作为Python对象返回。Excel中有用的 Python 数据类型是DataFrame对象。

外部数据

要导入外部数据,可使用Excel中的获取和转换功能。Get&Transform 使用 Power Query导入外部数据。在Excel中使用Python处理的所有数据都必须来自工作表或通过Power Query。

提示:为了保护用户安全,Python中的常见外部数据函数(例如pandas.read_csv和pandas.read_excel)在Excel不支持。

计算顺序

传统的Python语句是从上到下计算的。在Excel单元格中的Python中,Python 语句执行相同的操作-它们从上到下进行计算。 但在Excel工作表中的Python 中,Python单元格按行优先顺序进行计算。这意味着单元格计算将跨行运行(从A列到XFD列),然后跨工作表中的每个后续行运行。

Python 语句是有序的,因此每个Python语句都隐式依赖于计算顺序中紧邻其前面的Python语句。

在工作表中定义和引用变量时,计算顺序很重要,因为必须先定义变量,然后才能引用它们。

重要提示: 行优先计算顺序也适用于工作簿内的跨工作表,并且基于工作簿内工作表的顺序。如果在Excel中使用多个工作表通过Python分析数据,请确保在分析该数据的单元格和工作表之前的单元格和工作表中包含数据和存储数据的任何变量。

重新计算

当Python单元格的相关值发生变化时,所有Python公式都会按顺序重新计算。 要暂停Python重新计算并提高性能,请使用部分计算或手动计算模式。这些模式允许用户在准备好时触发计算。可通过功能区,选择“公式”,然后打开“计算选项”。 接下来,选择所需的计算模式。 部分计算和手动计算模式暂停Python和数据表的自动重新计算。

在Python开发过程中禁用工作簿中的自动重新计算可以提高性能和单个Python单元计算速度。但是,必须手动重新计算工作簿以确保每个Python单元格的准确性。在一下模式下可以通过三种方式手动重新计算工作簿在部分计算手动计算。

使用键盘快捷键F9。

功能区中的转到“公式” > “立即计算”。

转到具有过时值(以删除线格式显示)的单元格,然后选择该单元格旁边的错误符号。选择立即计算。然后从菜单中

错误处理

Excel中的Python计算可能会返回错误,例如#PYTHON!、#BUSY!和#CONNECT!等,详细可以参考官方说明。

总结

Excel中的Python支持给Excel的灵活性和功能扩展带来巨大的想象空间。大家可以尝试使用,但是目前只能联网在云上执行,还具很大的局限性,希望后续能有所改进,并且可以推广到其他平台的所有的Office组件上。

相关推荐

selenium(WEB自动化工具)

定义解释Selenium是一个用于Web应用程序测试的工具。Selenium测试直接运行在浏览器中,就像真正的用户在操作一样。支持的浏览器包括IE(7,8,9,10,11),MozillaF...

开发利器丨如何使用ELK设计微服务中的日志收集方案?

【摘要】微服务各个组件的相关实践会涉及到工具,本文将会介绍微服务日常开发的一些利器,这些工具帮助我们构建更加健壮的微服务系统,并帮助排查解决微服务系统中的问题与性能瓶颈等。我们将重点介绍微服务架构中...

高并发系统设计:应对每秒数万QPS的架构策略

当面试官问及"如何应对每秒几万QPS(QueriesPerSecond)"时,大概率是想知道你对高并发系统设计的理解有多少。本文将深入探讨从基础设施到应用层面的解决方案。01、理解...

2025 年每个 JavaScript 开发者都应该了解的功能

大家好,很高兴又见面了,我是"高级前端进阶",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发。1.Iteratorhelpers开发者...

JavaScript Array 对象

Array对象Array对象用于在变量中存储多个值:varcars=["Saab","Volvo","BMW"];第一个数组元素的索引值为0,第二个索引值为1,以此类推。更多有...

Gemini 2.5编程全球霸榜,谷歌重回AI王座,神秘模型曝光,奥特曼迎战

刚刚,Gemini2.5Pro编程登顶,6美元性价比碾压Claude3.7Sonnet。不仅如此,谷歌还暗藏着更强的编程模型Dragontail,这次是要彻底翻盘了。谷歌,彻底打了一场漂亮的翻...

动力节点最新JavaScript教程(高级篇),深入学习JavaScript

JavaScript是一种运行在浏览器中的解释型编程语言,它的解释器被称为JavaScript引擎,是浏览器的一部分,JavaScript广泛用于浏览器客户端编程,通常JavaScript脚本是通过嵌...

一文看懂Kiro,其 Spec工作流秒杀Cursor,可移植至Claude Code

当Cursor的“即兴编程”开始拖累项目质量,AWS新晋IDEKiro以Spec工作流打出“先规范后编码”的系统工程思维:需求-设计-任务三件套一次生成,文档与代码同步落地,复杂项目不...

「晚安·好梦」努力只能及格,拼命才能优秀

欢迎光临,浏览之前点击上面的音乐放松一下心情吧!喜欢的话给小编一个关注呀!Effortscanonlypass,anddesperatelycanbeexcellent.努力只能及格...

JavaScript 中 some 与 every 方法的区别是什么?

大家好,很高兴又见面了,我是姜茶的编程笔记,我们一起学习前端相关领域技术,共同进步,也欢迎大家关注、点赞、收藏、转发,您的支持是我不断创作的动力在JavaScript中,Array.protot...

10个高效的Python爬虫框架,你用过几个?

小型爬虫需求,requests库+bs4库就能解决;大型爬虫数据,尤其涉及异步抓取、内容管理及后续扩展等功能时,就需要用到爬虫框架了。下面介绍了10个爬虫框架,大家可以学习使用!1.Scrapysc...

12个高效的Python爬虫框架,你用过几个?

实现爬虫技术的编程环境有很多种,Java、Python、C++等都可以用来爬虫。但很多人选择Python来写爬虫,为什么呢?因为Python确实很适合做爬虫,丰富的第三方库十分强大,简单几行代码便可实...

pip3 install pyspider报错问题解决

运行如下命令报错:>>>pip3installpyspider观察上面的报错问题,需要安装pycurl。是到这个网址:http://www.lfd.uci.edu/~gohlke...

PySpider框架的使用

PysiderPysider是一个国人用Python编写的、带有强大的WebUI的网络爬虫系统,它支持多种数据库、任务监控、项目管理、结果查看、URL去重等强大的功能。安装pip3inst...

「机器学习」神经网络的激活函数、并通过python实现激活函数

神经网络的激活函数、并通过python实现whatis激活函数感知机的网络结构如下:左图中,偏置b没有被画出来,如果要表示出b,可以像右图那样做。用数学式来表示感知机:上面这个数学式子可以被改写:...