我正在嘗試使用從以前的 Pandas 資料幀生成的值串列將某些資料從 SQL 服務器匯入新的 Pandas 資料幀。在我最初的嘗試之后,我能得到的最好的輸出是一個空的資料框。任何幫助是極大的贊賞!我的代碼如下:
test_list = previous_df["StaffName"].tolist()
cnxn_str = ("Driver={XXXXXXXX};"\
"Server=XXXXXXXXXXXX;"\
"Database=XXXXXXXXX;"\
"UID=XXXXXXXXXX;"\
"PWD=XXXXXXXXXX;")
cnxn = pyodbc.connect(XXXXX)
new_df = pd.read_sql("SELECT * \
FROM XXXXXXXXXXXXXX\
WHERE (Variable_1 in ('X1','X2','X3', 'X4') AND \
Varible_2= 'XXXXXXX' AND\
Staff_Name_in_new_df_variable in ('test_list'))",
cnxn)
uj5u.com熱心網友回復:
使用字串格式注入一個由員工姓名串列組成的sql_string
previous_df=pd.DataFrame({'StaffName':['Bob','Jim','Don']})
test_list = previous_df["StaffName"].tolist()
sql_string = "("
for i in test_list:
sql_string = sql_string "'" i "',"
sql_string = sql_string[:-1] ")"
sql="select * from table where field in{test_list}".format(test_list=sql_string)
print(sql)
輸出
select * from table where field in('Bob','Jim','Don')
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/372110.html
標籤:Python sql-server 熊猫
上一篇:如果表有約束,如何在表中添加新列
