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

微软Excel中原生支持Python语言

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

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组件上。

相关推荐

《Queendom》宣布冠军!女团MAMAMOO四人激动落泪

网易娱乐11月1日报道据台湾媒体报道,南韩女团竞争回归的生死斗《Queendom》昨(10/31)晚播出大决赛,并以直播方式进行,6组女团、女歌手皆演唱新歌,并加总前三轮的赛前赛、音源成绩与直播现场投...

正确复制、重写别人的代码,不算抄袭

我最近在一篇文章提到,工程师应该怎样避免使用大量的库、包以及其他依赖关系。我建议的另一种方案是,如果你没有达到重用第三方代码的阈值时,那么你就可以自己编写代码。在本文中,我将讨论一个在重用和从头开始编...

HTML DOM tr 对象_html event对象

tr对象tr对象代表了HTML表格的行。HTML文档中出现一个<tr>标签,就会创建一个tr对象。tr对象集合W3C:W3C标签。集合描述W3Ccells返回...

JS 打造动态表格_js如何动态改变表格内容

后台列表页最常见的需求:点击表头排序+一键全选。本文用原生js代码实现零依赖方案,涵盖DOM查询、排序算法、事件代理三大核心技能。效果速览一、核心思路事件入口:为每个<th>绑...

连肝7个晚上,总结了66条计算机网络的知识点

作者|哪吒来源|程序员小灰(ID:chengxuyuanxiaohui)计算机网络知识是面试常考的内容,在实际工作中经常涉及。最近,我总结了66条计算机网络相关的知识点。1、比较http0....

Vue 中 强制组件重新渲染的正确方法

作者:MichaelThiessen译者:前端小智来源:hackernoon有时候,依赖Vue响应方式来更新数据是不够的,相反,我们需要手动重新渲染组件来更新数据。或者,我们可能只想抛开当前的...

为什么100个前端只有1人能说清?浏览器重排/重绘深度解析

面试现场的"致命拷问""你的项目里做过哪些性能优化?能具体讲讲重排和重绘的区别吗?"作为面试官,我在秋招季连续面试过100多位前端候选人,这句提问几乎成了必考题。但令...

HTML DOM 介绍_dom4j html

HTMLDOM(文档对象模型)是一种基于文档的编程接口,它是HTML和XML文档的编程接口。它可以让开发人员通过JavaScript或其他脚本语言来访问和操作HTML和XML文档...

JavaScript 事件——“事件流和事件处理程序”的注意要点

事件流事件流描述的是从页面中接收事件的顺序。IE的事件流是事件冒泡流,而NetscapeCommunicator的事件流是事件捕获流。事件冒泡即事件开始时由最具体的元素接收,然后逐级向上传播到较为不...

探秘 Web 水印技术_水印制作网页

作者:fransli,腾讯PCG前端开发工程师Web水印技术在信息安全和版权保护等领域有着广泛的应用,对防止信息泄露或知识产品被侵犯有重要意义。水印根据可见性可分为可见水印和不可见水印(盲水印)...

国外顶流网红为流量拍摄性侵女学生?仅被封杀三月,回归仍爆火

曾经的油管之王,顶流网红DavidDobrik复出了。一切似乎都跟他因和成员灌酒性侵女学生被骂到退网之前一样:住在950万美元的豪宅,开着20万美元的阿斯顿马丁,每条视频都有数百万观看...人们仿佛...

JavaScript 内存泄漏排查方法_js内存泄漏及解决方法

一、概述本文主要介绍了如何通过Devtools的Memory内存工具排查JavaScript内存泄漏问题。先介绍了一些相关概念,说明了Memory内存工具的使用方式,然后介绍了堆快照的...

外贸独立站,网站优化的具体内容_外贸独立站,网站优化的具体内容有哪些

Wordpress网站优化,是通过优化代码、数据库、缓存、CSS/JS等内容,提升网站加载速度、交互性和稳定性。网站加载速度,是Google搜索引擎的第一权重,也是SEO优化的前提。1.优化渲染阻塞。...

这8个CSS工具可以提升编程速度_css用什么编译器

下面为大家推荐的这8个CSS工具,有提供函数的,有提供类的,有提取代码的,还有收集CSS的统计数据的……请花费两分钟的时间看完这篇文章,或许你会找到意外的惊喜,并且为你的编程之路打开了一扇新的大门。1...

vue的理解-vue源码 历史 简介 核心特性 和jquery区别 和 react对比

一、从历史说起Web是WorldWideWeb的简称,中文译为万维网我们可以将它规划成如下的几个时代来进行理解石器时代文明时代工业革命时代百花齐放时代石器时代石器时代指的就是我们的静态网页,可以欣...