[問題] pyodbc用DataFrame當其中一個Table
要怎麼讓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
推
03/24 22:14,
3年前
, 1F
03/24 22:14, 1F
→
03/24 22:14,
3年前
, 2F
03/24 22:14, 2F
我解釋的不夠清楚
以我的範例來說
FROM CUSTOMER, customer.xlsx
CUSTOMER 這個是在資料庫裡面的Table
customer.xlsx這個是我電腦裡面的excel轉出來的DataFrame
我希望的使用情境就是這樣,FROM裡面同時有資料庫的檔Table也有DataFrame
不過這個建議好像也可行,只要我先用pd.read_sql把Table都變成我的DataFrame,再用pandasql去執行就好,只是不知道效能怎樣
→
03/24 22:14,
3年前
, 3F
03/24 22:14, 3F
→
03/25 16:38,
3年前
, 4F
03/25 16:38, 4F
→
03/25 16:39,
3年前
, 5F
03/25 16:39, 5F
→
03/25 16:39,
3年前
, 6F
03/25 16:39, 6F
→
03/25 16:40,
3年前
, 7F
03/25 16:40, 7F
我不能從這個路徑去動公司資料庫裡面的東西,管理人會殺了我,他只準我撈資料出來做分析統計
※ 編輯: duncanfun (42.74.57.85 臺灣), 03/25/2021 19:15:10
推
03/25 19:37,
3年前
, 8F
03/25 19:37, 8F
推
03/26 22:47,
3年前
, 9F
03/26 22:47, 9F
→
03/26 22:47,
3年前
, 10F
03/26 22:47, 10F
→
03/26 22:48,
3年前
, 11F
03/26 22:48, 11F
→
03/26 22:48,
3年前
, 12F
03/26 22:48, 12F
Python 近期熱門文章
PTT數位生活區 即時熱門文章
-11
18