python在excel中的应用实例,python操作excel实例

  python在excel中的应用实例,python操作excel实例

  Excel和Jupyter Notebok是我每天必用的工具,两个工具经常配合使用,到目前为止工作效率还不错。但是,其实这毕竟只是两个工具,所以在使用的时候一定要花掉切换的成本。

  最近访问GitHub突然发现的神器“PyXLL-Jupyter”可以将Jupyter笔记本完美嵌入Excel!是的,你是对的。有了它,我们可以在Excel上运行Jupyter Notebook,调用Python函数实现数据共享。

  另一方面,首先要在Excel中运行Python代码,必须安装PyXLL插件。PyXLL可以将Python集成到Excel中,用Python代替VBA。

  首先,用pip安装PyXLL。

  PipinstallPyXLL,然后使用PyXLL自带的命令行工具安装Excel插件。

  PyXLLinstall将插件从pyxll安装到Excel。下一步是安装pyxll-jupyter包。使用pip安装pyxll-jupyter包:

  pipinstallPyXLL-Jupyter安装完成后,当您启动Excel时,PyXLL选项卡中将显示一个新的Jupyter按钮。

  单击此按钮在Excel工作簿的侧面板中打开Jupyter笔记本。该面板是Excel界面的一部分。阻力放大器;您可以通过降低它来断开与扩展坞的连接,也可以将其与另一个位置对接。

  在Jupyter面板中,您可以选择现有笔记本或创建新笔记本。创建一个新笔记本,选择“新建”按钮,然后选择“Python 3”。

  第二,怎么用。很多人学了python,不知道从何入手。

  很多人学了python,掌握了基本语法之后,不知道去哪里找案例做好。

  做案例的人大多不知道如何学习更高级的知识。

  那么,针对这三类人,我会给你提供一个很好的学习平台,免费领取视频教程、电子书、课程源代码!

  群QQ:819437497

  这样做有什么用?

  1.Excel和Python共享数据。例如,将数据从Excel导入Python。

  由于Excel和Python已经在同一个进程中运行,所以在Python上访问Excel数据,在Python和Excel之间切换,速度非常快。

  此外,pyxll-jupyter还提供了一个IPython魔法函数,一键进入即可完成同步。

  %xl_get

  将Python中的数据移到Excel,也是同理,非常简单。

  将数据从Python复制到Excel很容易,无论是使用Python加载数据集,然后将其传输到Excel,还是以其他格式传输。

  %xl_set

  当然,%xl_get和%xl_set附带了用于自定义导入和导出规则的参数选项。

  2.使用Python在2 . 0中绘制PyXLL的另一个巨大优势。Excel是几乎所有主流可视化软件包的集成。所以可以用这些可视化的包(比如matplotlib、plotly、bokeh、altair)在excel中自由绘制。

  %xl_plot

  同样,您可以使用神奇的函数%xl_plot在Excel中绘制任何Python图表。支持的可视化软件包还可以绘制图形对象并将其传输到Excel。比如上图用熊猫画画就很有效。

  需要Excel从% XL _ plot df . plot(kind= scatter )3 . excel中调用Python函数,但如果需要复杂的函数,附带的函数可能无法满足我们的需求。

  使用PyXLL,可以在Excel中直接调用Python函数进行实时测试。这样就避免了在Excel和Jupyter之间来回切换的成本。apply的使用方法与dataframe类似。直接写函数,完美Excel。

  编写完函数后,还可以将其添加到PyXLL Python项目中。这个每次都可以重复使用,达到同样的功能,所以不要太香!

  from pyxllimportxl _ func @ XL _ funcdeftest _ func(a,b,c) :return) a*b) c例如,当你输入上面的代码并在Jupyter上运行时,立即

  除了简单的函数,您还可以将整个数据作为pandas的数据帧传递给函数,并返回任何Python类型,如numpy数组或数据帧。还可以通过向@xl_func decorator传递一个签名字符串来告诉PyXLL输出什么类型。例如,以下功能:

  from pyxllimportxl _ func # Decorator签名指示pyxll如何转换函数参数和返回值@ XL _ func( data frame df:data frame index=true ,autamed)

  从数据集创建的PandasDataFrame传递给函数desc=df.describe()#desc是一个新的DataFrame(PyXLL转换成一组值返回Excel创建)。returndesc现在可以编写复杂的Python函数进行数据转换和分析,但它可以协调如何在Excel中调用或排序这些函数。更改输入将导致函数被调用,计算出的输出将实时更新,正如我们所预期的那样。

  4.替换VBAVBA脚本所需的功能函数在Python中都有相同的API。对于熟悉Python但不熟悉VBA的学生来说,这绝对是个好消息。

  官网也提供了与VBA功能相同的API文档。

  https://www.pyxll.com/docs/userguide/vba.html

  Jupyter笔记本在Excel中运行,整个Excel对象都可用。所有操作就像在VBA编辑器中编写Excel脚本一样。

  由于PyXLL在Excel进程中运行Python,因此从Python调用Excel不会对性能产生任何影响。当然,您也可以从外部Python进程调用Excel,但这通常要慢得多。在Excel中运行Jupyter Notebook,一切都会不同!

  使用PyXLL的xl_app函数获取Excel。Application对象,相当于VBA的Application对象。弄清楚如何操作Excel对象模型的一个好方法是记录VBA宏,然后将其转换为Python。

  下图试图改变当前选定单元格的颜色。

  三。总结PyXLL将Python和Excel完美融合,实现以下功能,为表格数据处理提升了一个全新的高度。

  Excel和Python共享数据

  在Excel中用Python绘图

  从Excel调用Python函数

  替代VBA脚本

  不得不说这个工具真香。喜欢Python的同学可以不用学VBA。Python脚本统治了世界。

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

留言与评论(共有 条评论)
   
验证码: