利用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使用pil生成缩略图的方法
Mar 26 Python
python自动截取需要区域,进行图像识别的方法
May 17 Python
python3实现windows下同名进程监控
Jun 21 Python
Tensorflow 同时载入多个模型的实例讲解
Jul 27 Python
django如何连接已存在数据的数据库
Aug 14 Python
Python3非对称加密算法RSA实例详解
Dec 06 Python
详解重置Django migration的常见方式
Feb 15 Python
python基于三阶贝塞尔曲线的数据平滑算法
Dec 27 Python
详解Python3 中的字符串格式化语法
Jan 15 Python
django 将自带的数据库sqlite3改成mysql实例
Jul 09 Python
Django如何实现密码错误报错提醒
Sep 04 Python
python实现移动木板小游戏
Oct 09 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
在“咖啡之国”感受咖啡文化
2021/03/03 咖啡文化
PHP数字格式化
2006/12/06 PHP
PHP 错误之引号中使用变量
2009/05/04 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
php中JSON的使用与转换
2015/01/14 PHP
浅谈PHP的反射机制
2016/12/15 PHP
php strftime函数获取日期时间(switch用法)
2018/05/16 PHP
php判断IP地址是否在多个IP段内
2020/08/18 PHP
JS加ASP二级域名转向的代码
2007/05/17 Javascript
JavaScript性能陷阱小结(附实例说明)
2010/12/28 Javascript
JS格式化数字保留两位小数点示例代码
2013/10/15 Javascript
Javascript基础教程之定义和调用函数
2015/01/18 Javascript
JS实现网页背景颜色与select框中颜色同时变化的方法
2015/02/27 Javascript
JQuery中解决重复动画的方法
2016/10/17 Javascript
AngularJS模板加载用法详解
2016/11/04 Javascript
Angular2 PrimeNG分页模块学习
2017/01/14 Javascript
bootstrap输入框组使用方法
2017/02/07 Javascript
利用Javascript实现一套自定义事件机制
2017/12/14 Javascript
使用vue的transition完成滑动过渡的示例代码
2018/06/25 Javascript
JavaScript代码调试方法实例小结
2019/01/05 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
javascript中的闭包概念与用法实践分析
2019/07/26 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
python实现的简单RPG游戏流程实例
2015/06/28 Python
Python实现网站注册验证码生成类
2017/06/08 Python
python实现校园网自动登录的示例讲解
2018/04/22 Python
python2 与 python3 实现共存的方法
2018/07/12 Python
Python 确定多项式拟合/回归的阶数实例
2018/12/29 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
详解HTML5中的标签
2015/06/19 HTML / CSS
英文商务邀请信
2014/01/22 职场文书
挂职自我鉴定
2014/02/26 职场文书
经典的毕业生自荐信范文
2014/04/14 职场文书
2014医学院领导干部四风对照检查材料思想汇报
2014/09/16 职场文书
个人廉政承诺书
2015/04/28 职场文书
Spring Data JPA的Audit功能审计数据库的变更
2021/06/26 Java/Android