龙空技术网

初学系列-Python数据分析3编:在Excel中使用Jupyter&魔法函数

随心随行VTElzFd 162

前言:

眼前兄弟们对“jupyter查看数据类型type”大致比较关怀,看官们都想要剖析一些“jupyter查看数据类型type”的相关知识。那么小编同时在网上汇集了一些关于“jupyter查看数据类型type””的相关文章,希望同学们能喜欢,大家快快来学习一下吧!

序言:

前面两篇介绍了在Excel中集成Python环境以及如何在Excel中如何通过PyXLL这个插件来加载Python函数;文章内容全部都是本地实操验证后记录。本次文章逐步进阶到实际使用层面;如何Excel中借助【Jupyter】这个软件来使用魔法函数进行数据分析

在Excel文件中打开Jupyter

本文内容是建立在环境搭建完成,具体安装过程可以参看【初学系列-Python数据分析:整合环境探索第1编】,也可以查阅其他网友提供的指南

打开一个空的Excel,并通过工具导航栏 进入 “PyXLL Example Tab” 页 如下《图-1》

图-1:进入Jupyter模式

点击Jupyter图标,打开Jupyter代码编辑器界面如下《图-2》

图-2:进入Jupyter代码编辑器界面

在Jupyter创建Python可执行文件

执行简单的打印函数:print()

新建Python3代码编辑执行页面,如《下图-3》,点击右上角的“New”创建

图-3:新建Python3可执行文件

进入代码编辑区,如图-4

图-4:代码编辑区

编辑代码测试,如下图-5

简单打印一段文字,"欢迎阅读 初学系列-Python数据分析3编:Excel中使用魔法函数”,正常输出

print("欢迎阅读 初学系列-Python数据分析3编:Excel中使用魔法函数")

图-5:通过打印函数,打印一段文字

执行IPython中提供的魔法函数,读取Excel的数据

从Excel读取数据到Python

#从Excel的当前表单读取数据到Pythondf = %xl_getdf

Use the magic function “%xl_get” to get the current Excel selection in Python. Have a table of data in Excel? Select the top left corner (or the whole range) and type “%xl_get” in your Jupyter notebook and voila! the Excel table is now a pandas DataFrame.

图-6:读取Excel数据到Python

重点提示:

我这里在读取Excel数据时,并没有直接使用%xl_get函数读取,而是声明了df来接收,是有一定用意的,下面具体会说明。

将Python中数据转移回Excel

#从Excel的当前表单读取数据到Python

%xl_set df

Transfering data the other way around, from Python to Excel, works just as well. Whether you’ve used Python to load a dataset and want to transfer it to your Excel workbook, or if you’ve manipulated a data set from Excel and want the results back in Excel, copying data to Excel from Python is easy.

为了方便观察,我在上《图-6》打开的Excel中原始数据空几行进行回填数据,执行魔法函数 %xl_set

图-7:执行魔法函数回填数据到Excel

问题记录

网上千篇一律的都是直接这样用,如下图8:、图9,应该是会出现执行报错,需要声明一个变量,df来接收get函数读取的DataFrame类型数据

图-8:直接石使用%xl_get

图-9:不使用df变量接收get数据,直接使用%xl_set df

py in <lambda>(f, *a, **k)185 # but it's overkill for just that one bit of state.186 def magic_deco(arg):--> 187 call = lambda f, *a, **k: f(*a, **k)188189 if callable(arg):d:\workdevtools\pythonide\anaconda3\lib\site-packages\pyxll_jupyter\magic.py in xl_set(self, line)28 argv = self._split_args(line)29 args = self.xl_set.parser.parse_args(argv)---> 30 value = eval(args.value, self.shell.user_ns, self.shell.user_ns)3132 xl = xl_app(com_package="win32com")<string> in <module>

起初,我按照网上很多网友介绍的用法,读取数据执行使用魔法函数:

%xl_get这样也可以正常打印数据,但是在进行回填,执行%xl_set df 代码时,执行报错了,很困惑,因为找了很多相关的文章介绍,千篇一律都是直接用的【%xl_get】,从Python回填数据到Excel直接使用【%xl_set df】,实际上这个df,并没有在代码里面声明接收数据,这是怎么能拿到这个变量呢,最开始我以为是我按照的Jupyter版本问题,Excel的问题,打算重装软件了,后来静下来想了一下get的时候没声明,怎么能拿到数据,因为自己也是初学,踩了坑,看到此文的同学们,能少走弯路。

总结

边自学边记录,难免会遇到各种问题,要善于思考

技术性的东西,一定要自己动手实操求证,看到的不一定就是这样

标签: #jupyter查看数据类型type