我使用PyODBC通過名爲cnxn的連接連接到Oracle。PyODBC + Pandas +參數化
我唯一標識符的列表: 列表1 = 1234,2345,3456,4567]
我也有一個查詢:
query1 = """
select * from tablename where unique_id = ?
""'
我想怎麼辦使用這個標識符列表來創建一個熊貓數據框。
作爲一個測試,我這樣做:
testid = "1234" (since Oracle wants a string as that id not an integer)
然而,當我這樣做:
pd.read_sql(query1, cnxn, params = testid)
我得到「的SQL包含1個參數標記,但都提供4」。
最後,我希望能夠做這樣的事情:
for i in list1:
newdataframe.append(pd.read_sql(query1, cnxn, params = i))
,並把它吐出一個數據幀。
我已閱讀PyODBC上的文檔,它看起來像它指定?作爲參數。 我也看過this question,它很相似,但我需要能夠將結果反饋給Pandas數據框以供進一步操作。
我想如果我能得到testid的工作,我會走在正確的軌道上。
謝謝
剛剛更新以在查詢被解析後添加單引號。 – PyNoob