利用python在excel里面直接使用sql函数的方法
我们一般在excel里面是使用数据连接属性里面写sql语句,或者vba里面利用ado组件执行sql语句。
新版的excel里面带上了power query的功能也可以使用odbc.datasource()和odbc.query()函数写sql语句。
今天讲一下利用python直接在excel里面使用xlwings addin 里的一个名为sql的函数。
首先我们需要在python里面安装好xlwings模块。
执行pip/conda install xlwings命令 即可完成安装。
然后继续在命令行里再执行xlwings addin install就会安装一个xlwings 的插件到我们的excel里。
如果你的excel文件已经打开,需要关闭然后打开excel文件,才能看到安装好的插件。
如下图:
我们需要在左边的interpreter的选项框里输入python解释器所在的路径。
我的路径是:"d:\programdata\miniconda3\pythonw.exe".这样基本的操作就搞定了。
下面我们来试试如何写函数公式。
下图是一张“季度”工作表,数据格式如下:
我要在sheet1里面查询到“季度“”表里通过方式为网银的数据。
我只需要在sheet1工作表的a1这一个单元格里输入公式:
=sql("select * from a where 方式='网银'",季度!a1:n1000),然后按下enter键。
查询就完成。
这和我们一般在excel里面的公式是不一样的。
一般情况下excel的公式需要我们下拉或者数组填充才能扩展数据范围。
这里是只有a1一个单元格有公式。
这样就顺利完成了查询,而且效率比较高,一点不卡。
这个sql函数就是第一参数是sql语句。
后面都是查询要用到的表名称范围。
查询语句里面分别依次用别名指代后面的引用表。
我上面的公式就是用别名a代表后面的查询表"季度!a1:n1000"数据范围,多个查询表就分别用sql语句里的多个别名依次指代了,很容易理解吧。
不过数据范围过大查询会出现内存溢出的,十几万数据应该是没问题的。
好了,基本的东西就讲到这里了。
以上这篇利用python在excel里面直接使用sql函数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
上一篇: 对pandas处理json数据的方法详解