我使用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