利用python在excel里面直接使用sql函数的方法
作者:qq_24499417 发布时间:2023-10-15 00:34:57
我们一般在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语句里的多个别名依次指代了,很容易理解吧。
不过数据范围过大查询会出现内存溢出的,十几万数据应该是没问题的。
来源:https://blog.csdn.net/qq_24499417/article/details/84066707


猜你喜欢
- 如下:数据文件:上海机场 (sh600009)24.113.58东风汽车 (sh600006)74.251.74中国国贸 (sh600007
- 现在流行的静态博客/网站生成工具有很多,比如 Jekyll, Pelican, Middleman, Hyde 等等,StaticGen 列
- 本文实例讲述了Python3搜索及替换文件中文本的方法。分享给大家供大家参考。具体实现方法如下:# 将文件中的某个字符串改变成另一个 # 下
- 简介模拟登录淘宝已经不是一件新鲜的事情了,过去我曾经使用get/post方式进行爬虫,同时也加入IP代理池进行跳过检验,但随着大型网站的升级
- 以前大家谈了很多有关打开数据库连接安全的问题,现在我再提出一种思路:使用activex dll来保护你的代码。(既可以不用为使用共享的加密软
- import md5 import sys def sumfile(fobj): m = md5.new() while True: d =
- 主流的web server 一个巴掌就能数出来,apache,lighttpd,nginx,iisapplication,中文名叫做应用服务
- 引用body标签有两做法: 第一种:使用DOM Core 即引用某个给定文档的第一个(也是仅有的一个)body标签 document.get
- numpy.where (condition[, x, y])numpy.where() 有两种用法:1. np.where(conditi
- 目录一、简介思路高德地图API二、获取经纬度三、路线规划(四种方式)获取出行路线数据处理四、演示效果五、结尾一、简介路径规划中包括步行、公交
- 算法思路Knuth-Morris-Pratt(KMP)算法是解决字符串匹配问题的经典算法,下面通过一个例子来演示一下:给定字符串"
- 代码如下: Function NumberSplit(num) Dim i,length length=Len(num) For i=1 T
- 一、分组原理核心:1、不论分组键是数组、列表、字典、Series、函数,只要其与待分组变量的轴长度一致都可以传入groupby进行分组。2、
- c#连接sqlserver、插入数据、从数据库获取时间using System;using System.Data.SqlClient;na
- 多进程通信方法好多,不一而数。刚才试python封装好嘅多进程通信模块 multiprocessing.connection。简单测试咗一下
- 很实用的过滤重复数据的asp代码,函数如下:<%'**************************************
- 1.beautifulsoup4库安装第一步:在控制台输入如下命令,安 * eautifulsoup4库。pip install beauti
- 一、函数介绍pytorch中两个张量的乘法可以分为两种:两个张量对应元素相乘,在PyTorch中可以通过torch.mul函数(或*运算符)
- 在开发国际化网站的时候,难免会与时区打交道,通用CMS更是如此,毕竟其 * 户可能是来自于全球各地的。Django在时区这个问题上下了不少功
- 一、用户相关SQL语句/*新建用户*/create user SA identified by 2013;说明:SA用户名,2013密码/*