利用python在excel里面直接使用sql函數(shù)的方法
我們一般在Excel里面是使用數(shù)據(jù)連接屬性里面寫sql語句,或者vba里面利用ado組件執(zhí)行sql語句。
新版的Excel里面帶上了Power query的功能也可以使用Odbc.DataSource()和Odbc.Query()函數(shù)寫sql語句。
今天講一下利用Python直接在excel里面使用xlwings addin 里的一個(gè)名為sql的函數(shù)。
首先我們需要在python里面安裝好xlwings模塊。
執(zhí)行pip/conda install xlwings命令 即可完成安裝。
然后繼續(xù)在命令行里再執(zhí)行xlwings addin install就會安裝一個(gè)xlwings 的插件到我們的Excel里。
如果你的Excel文件已經(jīng)打開,需要關(guān)閉然后打開Excel文件,才能看到安裝好的插件。
如下圖:
我們需要在左邊的interpreter的選項(xiàng)框里輸入python解釋器所在的路徑。
我的路徑是:"D:\ProgramData\Miniconda3\pythonw.exe".這樣基本的操作就搞定了。
下面我們來試試如何寫函數(shù)公式。
下圖是一張“季度”工作表,數(shù)據(jù)格式如下:
我要在sheet1里面查詢到“季度“”表里通過方式為網(wǎng)銀的數(shù)據(jù)。
我只需要在sheet1工作表的A1這一個(gè)單元格里輸入公式:
=sql("select * from a where 方式='網(wǎng)銀'",季度!A1:N1000),然后按下enter鍵。
查詢就完成。
這和我們一般在Excel里面的公式是不一樣的。
一般情況下excel的公式需要我們下拉或者數(shù)組填充才能擴(kuò)展數(shù)據(jù)范圍。
這里是只有A1一個(gè)單元格有公式。
這樣就順利完成了查詢,而且效率比較高,一點(diǎn)不卡。
這個(gè)sql函數(shù)就是第一參數(shù)是sql語句。
后面都是查詢要用到的表名稱范圍。
查詢語句里面分別依次用別名指代后面的引用表。
我上面的公式就是用別名a代表后面的查詢表"季度!A1:N1000"數(shù)據(jù)范圍,多個(gè)查詢表就分別用sql語句里的多個(gè)別名依次指代了,很容易理解吧。
不過數(shù)據(jù)范圍過大查詢會出現(xiàn)內(nèi)存溢出的,十幾萬數(shù)據(jù)應(yīng)該是沒問題的。
好了,基本的東西就講到這里了。
以上這篇利用python在excel里面直接使用sql函數(shù)的方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
Qt通過QGraphicsview實(shí)現(xiàn)簡單縮放及還原效果
本文主要介紹通過QGraphicsview實(shí)現(xiàn)簡單的縮放以及縮放后還原原始大小,通過scale可以對view進(jìn)行放大或縮小,具體內(nèi)容詳情跟隨小編一起看看吧2021-09-09python 限制函數(shù)調(diào)用次數(shù)的實(shí)例講解
下面小編就為大家分享一篇python 限制函數(shù)調(diào)用次數(shù)的實(shí)例講解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-04-04使用Matplotlib 繪制精美的數(shù)學(xué)圖形例子
今天小編就為大家分享一篇使用Matplotlib 繪制精美的數(shù)學(xué)圖形例子,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python爬蟲中urllib3與urllib的區(qū)別是什么
Urllib3是一個(gè)功能強(qiáng)大,條理清晰,用于HTTP客戶端的Python庫。那么Python爬蟲中urllib3與urllib的區(qū)別是什么,本文就詳細(xì)的來介紹一下2021-07-07Python操作json數(shù)據(jù)的一個(gè)簡單例子
這篇文章主要介紹了Python操作json數(shù)據(jù)的一個(gè)簡單例子,需要的朋友可以參考下2014-04-04