分享

Python in Excel实战体验!

 存入仓库 2023-10-11 发布于河北

Python加入Excel已经有一阵子,之前因为没有好用的编辑器,一直也没怎么用,最近ExcelLabs插件更新,添加了Python编辑器总算有智能提示了,一起来实战体验一下!

▍功能开启

Excel365版本,在顶端搜索框中输入体验,点击【Microsoft 365预览体验计划】

图片

选择加入【Beta版本通道】,点击确定!

图片

Excel更新到最新版本,应该就可以在【公式】选项卡下看到Python相关功能组了!

图片

下面我们来体验一下!

▍代码编辑器

点击【Excel 中的Python】或者直接在单元格中输入【=py】回车!

图片

都可以看到下面的效果,然后就可以输入代码,使用【Ctrl+Enter】提交执行!

图片

不过这个代码编辑体验非常差,习惯VSCODE、Pycharm的同学估计到这里直接不会写了,因为他基本没有什么智能提示!

所以我们换个工具!在加载项中,找到Excel Labs,添加!

图片

在【开始】选项卡下就可以看到Excel Labs,点击使用!

图片

常用的话,就勾选【Make Default】这样每次打开都是默认Python编辑器!

图片

▍用起来

Excel单元格区域如何和Python关联起来呢?这个问题,微软加入了一个

xl函数,在我们选择单元格时会自动生成!第二参数headers 设置为True表示首行是标题,只写第一参数或者设置第二参数设置为False,都表示没有标题!图片

他的结果是一个Pandas中的DataFrame对象,所以大家学习Pandas库就行啦!
图片

默认显示的是对象,可以通过点击图层按钮,切换为Excel值即可显示内容到单元格中!
图片

▍实战案例

终于可以上手写点代码试试了!先做一个分组聚合吧,这也是算我们的常见需求了!
▼ 智能提示比较友好
图片

の案例1:按姓名聚合成绩
df = xl('A1:B16', headers=True)df.groupby('姓名').sum().reset_index()
图片
是不是非常简单!
の案例2:新增一列考试次数(累计)
是不是特别简单,当然这里我们也可以遵循Python的注释原则进行注释
#+注释内容,对代码进行一定的注释说明!
# 添加一列 ;E精精提示df = xl('A1:B16', headers=True)df['考场次数'] = df.groupby('姓名').cumcount()+1
图片

の案例3:按姓名 和考试次数透视
功能和透视表一样,只是结果显示略有不同!
df = xl('H2#', headers=True)pd.pivot_table(df, index=['姓名'], aggfunc=sum, columns=['考试次数'],fill_value='').reset_index(['姓名'])
图片
更多关于Pandas的案例就不讲了,基本常见的数据分析需求都没有问题!
下面再看一下,Python的一些基础功能支持!

の案例4正则体验
我们也可以导入部分模块来使用,内置的模块都可以使用,比如Excel中目前没有正则函数,这个可以弥补一下这个短板!
import rere.findall(r'\d+\.\d+|\d+',xl('A1'))
图片

の案例5:定义函数及调用
我们可以利用python相关知识定义函数,并调用!
图片
更多功能大家慢慢探索!目前支持的第三方库有限,网络库等虽然可以导入尚不支持,微软说是安全考虑,不支持连接本地,云端计算,算是目前的一些缺陷了!
更多Python in Excel 欢迎加入学习圈,一起交流!

▼加入学习圈一起交流

图片

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多