利用python在excel里面直接使用sql函数的方法

yipeiwu_com5年前Python基础

我们一般在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文件,才能看到安装好的插件。

如下图:

python在excel里面直接使用sql函数

我们需要在左边的interpreter的选项框里输入python解释器所在的路径。

我的路径是:"D:\ProgramData\Miniconda3\pythonw.exe".这样基本的操作就搞定了。

下面我们来试试如何写函数公式。

下图是一张“季度”工作表,数据格式如下:

python在excel里面直接使用sql函数

我要在sheet1里面查询到“季度“”表里通过方式为网银的数据。

我只需要在sheet1工作表的A1这一个单元格里输入公式:

=sql("select * from a where 方式='网银'",季度!A1:N1000),然后按下enter键。

查询就完成。

这和我们一般在Excel里面的公式是不一样的。

一般情况下excel的公式需要我们下拉或者数组填充才能扩展数据范围。

这里是只有A1一个单元格有公式。

python在excel里面直接使用sql函数

这样就顺利完成了查询,而且效率比较高,一点不卡。

这个sql函数就是第一参数是sql语句。

后面都是查询要用到的表名称范围。

查询语句里面分别依次用别名指代后面的引用表。

我上面的公式就是用别名a代表后面的查询表"季度!A1:N1000"数据范围,多个查询表就分别用sql语句里的多个别名依次指代了,很容易理解吧。

不过数据范围过大查询会出现内存溢出的,十几万数据应该是没问题的。

好了,基本的东西就讲到这里了。

以上这篇利用python在excel里面直接使用sql函数的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python里使用正则的findall函数的实例详解

python里使用正则的findall函数的实例详解 在前面学习了正则的search()函数,这个函数可以找到一个匹配的字符串返回,但是想找到所有匹配的字符串返回,怎么办呢?其实得使用f...

Django实现登录随机验证码的示例代码

Django实现登录随机验证码的示例代码

登录验证码是每个网站登录时的基本标配,网上也有很多相应的文章, 但是从生成验证码到 应用到自己的网站上的全步骤,并没有看到很多, 为了节约大家的时间,我把整体步骤写下来, 即拿即用哈 1...

使用IPython下的Net-SNMP来管理类UNIX系统的教程

引言 对于简单网络管理协议 (SNMP),大多数系统管理员都具有一定的使用经验,或者至少听说过它。如果您正在一个数据中心工作,那么您每天都可能采用某种方式与 SNMP 进行交互。有许多给...

Python延时操作实现方法示例

本文实例讲述了Python延时操作实现方法。分享给大家供大家参考,具体如下: 在日常的开发中,往往会遇到这样的需求,需要某一个函数在一段时间之后才执行以达到某种特定的效果。此时,我们就需...

Python对Excel按列值筛选并拆分表格到多个文件的代码

场景:集团中心下发本省数据时,并未按地市、业务拆分,现需要按地市、业务拆分并分发到地市。 本文利用Python的pandas包实现了以上场景。 注:本示例代码只实现按单列拆分,如果需要多...