看板 Python 關於我們 聯絡資訊
要怎麼讓Dataframe當其中一個Table,執行SQL查詢 使用情境大概是這樣 有一個裝我整理好的客戶資料的Excel,大概有幾百個人,內容大概是 客戶名稱 ID 聯絡人 聯絡人電話 Red 12 Amy #1234 ....... 我想要在連線到資料庫,但是不更改或插入資料庫,把這些人的資料撈出來 我要怎麼讓這個Excel成為From的一個Table import pyodbc import pandas as pd cnxn=pyodbc.connect('連線參數') cursor=cnxn.cursor() customer_xlsx=pd.read_excel(r'客戶資料_已整理.xlsx') """以下為SQL語法,像這樣把customer_xlsx當成一個Table""" report=""" SELECT customer_xlsx.ID, CUSTOMER.ITEM, CUSTOMER.DATE FROM CUSTOMER, customer_xlsx WHERE customer_xlsx.ID=CUSTOMER.ID AND customer_xlsx.聯絡人='Amy' AND CUSTOMER.DATE>#2021/1/1# """ 實際上當然會比這個再多更多條件,也會再交叉到其他資料庫內的Table 我想的解決方法是要讓pandas先把資料整理好 rule=customer_xlsx["聯絡人"]=="Amy" filter=customer_xlsx[rule] ID_excel="'" i=0 while i<len(filter): ID_excel=ID_excel+filter.iloc[i,1]+"','" i+=1 ID_excel=ID_excel[:len(ID_excel)-2] 之後再把ID_excel丟到SQL裡面用In去找 但是這樣做感覺很繁瑣,而且單位會python語法也只有我,要推廣出去會有難度 之後如果發生更複雜的語法可能會遇到瓶頸 所以有辦法讓Dataframe成為pyodbc的一個Table,而且是在不動到資料庫的條件下撈出資 料嗎 -- 那個比較萌~ 1.在村中替自己洗披風的鄰家女孩 2.被偷看洗澡的仙女姐姐 3.賽前砍了自己比武招親對象的野蠻ㄚ頭 4.保護聖獸而害人從樹上摔死的異族少女 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 42.74.99.110 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1616589317.A.E72.html ※ 編輯: duncanfun (42.74.99.110 臺灣), 03/24/2021 20:36:21 ※ 編輯: duncanfun (42.74.99.110 臺灣), 03/24/2021 20:37:13
cuteSquirrel: pandasql 套件比較接近你想做的事情03/24 22:14
cuteSquirrel: 用SQL語法去撈dataframe的資料03/24 22:14
我解釋的不夠清楚 以我的範例來說 FROM CUSTOMER, customer.xlsx CUSTOMER 這個是在資料庫裡面的Table customer.xlsx這個是我電腦裡面的excel轉出來的DataFrame 我希望的使用情境就是這樣,FROM裡面同時有資料庫的檔Table也有DataFrame 不過這個建議好像也可行,只要我先用pd.read_sql把Table都變成我的DataFrame,再用pandasql去執行就好,只是不知道效能怎樣
cuteSquirrel: https://pypi.org/project/pandasql/03/24 22:14
celestialgod: https://reurl.cc/e9n3pM How about temp table?03/25 16:38
celestialgod: create a temp table in db and join it with03/25 16:39
celestialgod: your table03/25 16:39
celestialgod: 阿沒看到不插入資料下....03/25 16:40
我不能從這個路徑去動公司資料庫裡面的東西,管理人會殺了我,他只準我撈資料出來做分析統計 ※ 編輯: duncanfun (42.74.57.85 臺灣), 03/25/2021 19:15:10
cuteSquirrel: 對阿,用介面去撈,不會動到原本公司內網的DB 03/25 19:37
MAGICXX: 撈出來的table存變數 然後再對這個變數做查詢?不然存本 03/26 22:47
MAGICXX: 機csv再read_csv做查詢之類的? 03/26 22:47
MAGICXX: 反正再複雜也沒關係 你就做個介面 給他們用就好 裡面再怎 03/26 22:48
MAGICXX: 麼複雜 他們也不知道(? 03/26 22:48