python处理excel用什么库,python管理excel 是不是要用数据库

  python处理excel用什么库,python管理excel 是不是要用数据库

  七深枢纽

  以前只能在Python Jupyter笔记本和Excel中选一个,现在有了PyXLL-Jupyter软件包的引入,可以两者并用。在这篇文章中,我将向您展示如何设置在Excel中运行的Jupyter笔记本。两者共享数据,甚至可以从Excel工作簿中调用Jupyter笔记本中编写的Python函数!

  开始

  首先,我们需要使用PyXLL包在Excel中运行Python代码。PyXLL使我们能够将Python集成到Excel中,并使用Python代替VBA。要安装PyXLL Excel加载项“pip install PyXLL ”,然后使用PyXLL命令行工具安装Excel加载项:

  pip安装pyxll pyxll安装

  安装PyXLL Excel插件后,下一步是安装PyXLL -jupyter软件包。这个软件包提供了PyXLL和Jupyter之间的链接,所以我们可以在Excel中使用Jupyter notebook。

  使用pip安装pyxll-jupyter包:

  pip安装pyxll-jupyter

  一旦安装了PyXLL Excel加载项和PyXLL-Jupyter包,启动Excel将在PyXLL选项卡中看到一个新的“Jupyter”按钮。

  单击此按钮在Excel工作簿的侧面板中打开Jupyter笔记本。该面板是Excel界面的一部分,可以通过拖放操作将其取消停靠或停靠在其他位置。在Jupyter面板中,您可以选择现有的笔记本或创建新的笔记本。要创建新笔记本,请选择“新建”按钮,然后选择“Python 3”。

  下面给出了使用方法。

  现在,您已经在Excel中运行了完整的Jupyter笔记本!但是,这有什么好处呢?这比在Excel外运行笔记本好?

  好了,现在可以用Excel处理数据,用Python处理同样的数据了。使用Excel作为组织和可视化数据的交互操作,无缝切换到Python使用更复杂的函数。

  使用Jupyter notebook作为画板来尝试Python代码。在Jupyter笔记本上用Python写Excel函数,实时测试。开发一个有用的可重用函数后,将其添加到PyXLL Python项目中。所以每次使用Excel都可以使用相同的函数。

  在本文的其余部分,我将向您展示如何:

  使用Jupyter notebook在Excel和Python之间共享数据

  在笔记本中编写Excel工作表函数(udf)

  Excel和Python代替VBA

  我们将数据从Excel转移到Python。

  因为PyXLL在和Excel相同的进程中运行Python,所以使用Python访问Excel数据,在Python和Excel之间快速调用。

  为了使事情尽可能简单,pyxll-Jupyter包附带了一些IPython“神奇”的函数,可以在Jupyter笔记本上使用。

  % xl_get

  Excel表格与熊猫数据框同步。

  使用神奇的函数“%%xlget”在Python中获得当前的Excel选择。在Excel中创建一个数据表,选择左上角(或整个范围),然后在Jupyter笔记本中输入“%%xlget”,瞧!Excel被表示为熊猫数据框架。

  % %xl_get magic函数有几个选项:

  -c或-细胞。传递单元格的地址以获取值,例如% XL _ get-cella1: D5。-t或- type。指定获取值时要使用的数据类型,如% xl _ get-typenumpy _ array。-x或-不-不-自动调整大小。仅获取选定范围或给定范围的数据。不要扩展到包括周围的数据范围。

  PyXLL有其他方法与Excel交互,将数据读入Python。“%%xl_get”神奇功能只是让事情变得更简单!当Jupyter notebook在Excel中运行时,所有其他方法(例如,使用XLCell类、Excel的COM API甚至xlwings)仍然可用。

  提示:你可以给魔术函数的结果赋值一个变量!比如尝试“df=% xl _ get”。

  如何将数据从Python移回Excel

  另一种从Python到Excel的传输方法也可以正常工作。无论是使用Python加载数据集并传输到Excel工作簿,还是通过Excel处理数据集并希望将结果返回到Excel,都可以轻松地将数据从Python复制到Excel。

  %xl_set

  神奇的函数“%%xlset”获取一个Python对象并将其写入Excel。Excel中有想要的数据框“df”吗?只需使用“%xlsetdf”,它将被写入Excel中的当前选择。

  与% %xlget一样,% %xlset也有一系列选项来控制其行为。您甚至可以使用PyXLL的单元格格式功能在将结果写入Excel时自动应用格式。

  -c或-细胞。将写入值的单元格的地址,例如,% XL _ setvalue-cella1。-t或- type。将值写入Excel时使用的数据类型描述符,例如,% XL _ setvalue-typedataframe。-f或- formatter。PyXLL单元格格式化程序对象,如% XL _ setvalue-formatter data frame formatter()。请参见单元格格式。-x或-不-不-自动调整大小。不要自动调整范围大小以适应数据。仅将值写入当前选择或指定范围。

  和% %xlget一样,% %xlset只是一个快捷方式,其他所有你可能用PyXLL用过的回写Excel的方式,在Jupyter notebook中依然可以使用。

  在Excel中正确使用Python图(matplotlib/plotly等)。)

  数据处理的一大优势是强大的绘图软件包。例如,df.plot()

  PyXLL集成了所有主要的绘图库,因此您也可以在Excel中充分利用它们。这包括matplotlib(熊猫用),plotly,bokeh,altair。

  %xl_plot

  使用“%%xlplot”在Excel中绘制任何Python图表。将支持的图形库中的任何图形对象传递给它,或使用最后一个pyplot图形。用熊猫剧情的效果也很好,比如。%xlplot df.plot(kind=scatter )。

  % %xl_plot魔法函数有一些控制其工作方式的选项:

  -n或- name。Excel中图片对象的名称。如果您使用现有的图片名称,该图片将被替换。-c或-细胞。用作新图片位置的单元格的地址。如果图片已经存在,则无效。-宽或-宽。Excel中图片的宽度(以磅为单位)。如果更新现有图片,它将无效。-h或-高度。Excel中图片的高度(以磅为单位)。如果更新现有图片,它将无效。

  % %xl_plot是pyxll.plot函数的快捷方式。

  从Excel调用Python函数

  可以直接从Excel工作簿调用Python函数,而不是不断在Excel和Jupyter之间移动数据,然后运行一些Python代码。

  PyXLL的一个主要用例是用Python编写定制的Excel工作表函数(或“UDF”)。这用于在用Python函数构建的Excel中构建模型,当然也可以使用其他Python库(比如pandas和scipy)。

  还可以在Jupyter notebook中编写Excel工作表函数。这是在不离开Excel和使用Python IDE的情况下尝试想法的绝佳方式。

  你自己试试。编写一个简单的函数,然后将“pyxll.xl_func”修饰符添加到函数中:

  从pyxll导入xl_func@xl_funcdef test_func(a,b,c): #这个函数可以从Excel中调用!返回(a * b) c

  一旦输入代码并在Jupyter中运行单元格,就可以立即从Excel工作簿中调用Python函数。

  不仅仅是简单的函数。您可以将整个数据范围作为pandas DataFrames传递给函数,并返回任何Python类型,包括numpy数组和DataFrames!通过给@xl_func decorator一个参数字符串,可以告诉PyXLL需要什么类型。

  例如,尝试以下方法:

  “签名”告诉pyxll如何转换参数#和返回值。@ XL _ func( data frame df:data frame ,auto _ resize=True)def df _ describe(df):# df 是一个pandas DataFrame,从传递给#该函数的范围构建而成。desc=df.describe() # desc 是一个新的DataFrame,当返回Excel时,PyXLL会将其转换为# a值范围。返回desc

  现在,您可以编写复杂的Python函数进行数据转换和分析,以及如何在Excel中调用或排序这些函数。改变输入会导致函数被调用,计算出的输出会实时更新,正如你所期望的那样!

  在Excel中使用Python而不是VBA的脚本

  你知道所有在VBA可以执行的操作在Python中也可以执行吗?写VBA的时候会用到Excel对象模型,但是Python也提供了同样的API。

  在运行于Excel中的Jupyter notebook中,您可以使用整个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作为VBA的替代提供了一些如何做到这一点的技巧。

  摘要

  是Python VBA的强大替代品。使用PyXLL,您可以用Python编写全功能的Excel外接程序。添加Python和Jupyter,将Excel提升到一个全新的水平。如何使用Jupyter notebook中编写的代码可以轻松地重构为独立的Python包,以创建Excel工具包来支持直观的工作簿和仪表板。是的,任何Excel用户都可以在没有任何Python知识的情况下使用用PyXLL编写的Python工具。

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

相关文章阅读

  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些
  • 关系型数据库与非关系型数据库简介一样吗,关系型数据库非关系型数据库有哪些,关系型数据库与非关系型数据库简介
  • 关于redis数据库入门详细介绍图片,redis数据库的使用,关于Redis数据库入门详细介绍
  • 使用php连接mysql数据库,php连接数据库的方法
  • 使用php连接mysql数据库,php连接数据库的方法,一文详解PHP连接MySQL数据库的三种方式
  • 什么是分库分表,为什么要进行分库分表-,分库分表的区别,数据库分库分表是什么,什么情况下需要用分库分表
  • vb中adodb连接数据库,
  • treeview控件绑定数据,wpf treeview数据绑定,详解TreeView绑定数据库
  • sql的多表查询,数据库如何实现多表查询
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库
  • SQL数据库的图形管理界面工具是,sql图形界面创建数据库,SQLServer2019 数据库的基本使用之图形化界面操作的实现
  • sql数据库定时备份怎么弄,mysql 定期备份
  • sql数据库定时备份怎么弄,mysql 定期备份,MySQL 数据库定时备份的几种方式(全面)
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar
  • sqlserver的nvarchar和varchar,数据库varchar和nvarchar,SQL中varchar和nvarchar的基本介绍及其区别
  • 留言与评论(共有 条评论)
       
    验证码: