微软Excel中原生支持Python语言
itomcoil 2024-12-07 13:23 24 浏览
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组件上。
相关推荐
- Python 类型注解的进阶应用:从静态检查到元编程
-
阅读文章前辛苦您点下“关注”,方便讨论和分享,为了回馈您的支持,我将每日更新优质内容。如需转载请附上本文源链接!近年来,Python类型注解(TypeHinting)逐渐从一个可选的功能演变为大型...
- 高阶Python|返回类型提示技巧 (1)
-
引言Python提供了一种可选的特性——类型提示,它有助于提高代码的可读性、可推理性和可调试性。通过类型提示,开发者能够清楚地了解变量、函数参数和返回值应具备的数据类型。在开发那些需要高度灵活性的应用...
- 跟我一起学Python-函数的定义(基础)
-
一.函数的定义和调用1.语法:def函数名():函数封装的代码函数最好能够表达函数内部封装的代码功能,方便后续的调用,函数命名需要遵循规则字母、数字、下划线、不能以数字开头,不能使用系统关键字。...
- Python函数参数和返回值类型:让你的代码更清晰、更健壮
-
在Python开发中,你是否遇到过这些抓狂时刻?同事写的函数参数类型全靠猜调试两小时发现传了字符串给数值计算函数重构代码时不知道函数返回的是列表还是字典今天教你两招,彻底解决类型混乱问题!让你的...
- python入门到脱坑 函数—参数(python 参数处理)
-
本文包括必须参数,关键参数,默认参数以及可变参数Python函数参数详解一、位置参数(必需参数)位置参数是函数调用时必须提供的参数,且顺序必须与定义时一致。基本用法defgreet(name,me...
- python入门到脱坑经典案例—求两个数的和
-
下面为大家讲解如何求两个数之和——这是编程中最基础但最重要的算术运算之一。我们会从最简单的情况逐步深入,并穿插相关编程概念。1.最基础版本#定义两个变量num1=5num2=3#...
- 新手必看!30 个 Python 核心函数详解,手把手教你玩转编程
-
Python中30个核心函数及其含义、代码示例、注释和应用场景:print():用于输出文本或变量的值到控制台。message="Hello,World!"#定义一个...
- Python快速入门教程1:基本语法、数据类型、运算符、数字字符串
-
Python3的基础教程,涵盖了基本语法、数据类型、类型转换、解释器、注释、运算符、数字和字符串等内容,并附有使用实例场景。Python3的基础教程,涵盖了基本语法、数据类型、类型转换、解释器、注释、...
- 编程小白学做题:Python 的经典编程题及详解,附代码和注释(八)
-
适合Python3+的6道编程练习题(附详解)1找出字典中值最小的键题目描述:找出字典中值最小的键(如{"a":5,"b":2,"c...
- 新手学Python避坑,学习效率狂飙! 二十一、print()函数
-
感谢大家对《新手学Python避坑,学习效率狂飙!》系列的点赞、关注和收藏,今天这编是这个系列的第二十一个分享,前面还有二十个,大家可以关注下之前发布的文章。下面是我们今天第三个的分享:在Pytho...
- 编程小白学做题:Python 的经典编程题及详解,附代码和注释(六)
-
适合Python3+的6道编程练习题(附详解)1、打印杨辉三角的前n行题目描述:给定正整数n,打印杨辉三角的前n行(每个数等于它上方两数之和,每行首尾为1)。编写思路:杨辉三角的第i...
- 让你的Python代码更易读:7个提升函数可读性的实用技巧
-
如果你正在阅读这篇文章,很可能你已经用Python编程有一段时间了。今天,让我们聊聊可以提升你编程水平的一件事:编写易读的函数。请想一想:我们花在阅读代码上的时间大约是写代码的10倍。所以,每当你创建...
- python入门到脱坑 函数—return语句
-
Python函数中的return语句详解一、return语句基础1.1基本功能return语句用于从函数中返回一个值,并立即结束函数的执行。defadd(a,b):returna+...
- 编程小白学做题:Python 的经典编程题及详解,附代码和注释(七)
-
适合Python3+的6道编程练习题(附详解)1.检查字符串是否以指定子串开头题目描述:判断字符串是否以给定子串开头(如"helloworld"以"hello&...
- python的注释符是什么(python的合法注释符号是什么)
-
python的注释符是什么?python的注释符包括单行注释符和多行注释符。一、python单行注释符号(#)井号(#)常被用作单行注释符号,在代码中使用#时,它右边的任何数据都会被忽略,当做是注释。...
- 一周热门
- 最近发表
- 标签列表
-
- ps图案在哪里 (33)
- super().__init__ (33)
- python 获取日期 (34)
- 0xa (36)
- super().__init__()详解 (33)
- python安装包在哪里找 (33)
- linux查看python版本信息 (35)
- python怎么改成中文 (35)
- php文件怎么在浏览器运行 (33)
- eval在python中的意思 (33)
- python安装opencv库 (35)
- python div (34)
- sticky css (33)
- python中random.randint()函数 (34)
- python去掉字符串中的指定字符 (33)
- python入门经典100题 (34)
- anaconda安装路径 (34)
- yield和return的区别 (33)
- 1到10的阶乘之和是多少 (35)
- python安装sklearn库 (33)
- dom和bom区别 (33)
- js 替换指定位置的字符 (33)
- python判断元素是否存在 (33)
- sorted key (33)
- shutil.copy() (33)