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


Posted in Python onFebruary 08, 2019

我们一般在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输出一个杨辉三角的例子
Jun 13 Python
python实现调用其他python脚本的方法
Oct 05 Python
Python中的包和模块实例
Nov 22 Python
简单谈谈python中的语句和语法
Aug 10 Python
Python Flask框架模板操作实例分析
May 03 Python
Python Pandas分组聚合的实现方法
Jul 02 Python
简单了解python反射机制的一些知识
Jul 13 Python
numpy数组做图片拼接的实现(concatenate、vstack、hstack)
Nov 08 Python
Python实现数值积分方式
Nov 20 Python
OpenCV Python实现拼图小游戏
Mar 23 Python
基于python实现百度语音识别和图灵对话
Nov 02 Python
Python循环之while无限迭代
Apr 30 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
Feb 08 #Python
pandas dataframe添加表格框线输出的方法
Feb 08 #Python
python读取有密码的zip压缩文件实例
Feb 08 #Python
对python判断是否回文数的实例详解
Feb 08 #Python
用Python解决x的n次方问题
Feb 08 #Python
浅谈Scrapy网络爬虫框架的工作原理和数据采集
Feb 07 #Python
Python实现E-Mail收集插件实例教程
Feb 06 #Python
You might like
phplock(php进程锁) v1.0 beta1
2009/11/24 PHP
php通过sort()函数给数组排序的方法
2015/03/18 PHP
Laravel 5框架学习之表单验证
2015/04/08 PHP
Codeigniter中集成smarty和adodb的方法
2016/03/04 PHP
php cookie 详解使用实例
2016/11/03 PHP
PHP中抽象类,接口功能、定义方法示例
2019/02/26 PHP
Yii2框架配置文件(Application属性)与调试技巧实例分析
2019/05/27 PHP
JavaScript中的对象化编程
2008/01/16 Javascript
JavaScript DOM 添加事件
2009/02/14 Javascript
JavaScript 模式之工厂模式(Factory)应用介绍
2012/11/15 Javascript
Js为表单动态添加节点内容的方法
2015/02/10 Javascript
jQuery实现鼠标悬停显示提示信息窗口的方法
2015/04/30 Javascript
浅谈JavaScript 执行环境、作用域及垃圾回收
2016/05/31 Javascript
JS弹出窗口的运用与技巧大全
2016/11/01 Javascript
JS中使用正则表达式g模式和非g模式的区别
2017/04/01 Javascript
微信小程序中使用javascript 回调函数
2017/05/11 Javascript
从parcel.js打包出错到选择nvm的全部过程
2018/01/23 Javascript
vue中倒计时组件的实例代码
2018/07/06 Javascript
js前端面试之同步与异步问题详解
2019/04/03 Javascript
vue使用canvas实现移动端手写签名
2020/09/22 Javascript
[04:40]2016国际邀请赛中国区预选赛全程TOP10镜头集锦
2016/07/01 DOTA
python matplotlib绘图,修改坐标轴刻度为文字的实例
2018/05/25 Python
Numpy的简单用法小结
2019/08/28 Python
详解python常用命令行选项与环境变量
2020/02/20 Python
如何在Windows中安装多个python解释器
2020/06/16 Python
解决python 执行shell命令无法获取返回值的问题
2020/12/05 Python
基于CSS3实现立方体自转效果
2016/03/01 HTML / CSS
css3 transform 3d 使用css3创建动态3d立方体(html5实践)
2013/01/06 HTML / CSS
基于html5绘制圆形多角图案
2016/04/21 HTML / CSS
美国奢侈品在线团购网站:Gilt City
2017/11/16 全球购物
Java提供了哪些企业应用编程接口
2015/02/13 面试题
活动策划邀请函
2014/02/06 职场文书
项目安全员岗位职责
2015/02/15 职场文书
经典祝酒词大全
2015/08/12 职场文书
化工生产实习心得体会
2016/01/22 职场文书
MySQL命令行操作时的编码问题详解
2021/04/14 MySQL