python - 如何通过 pd.read_sql 传递多个参数,一个单数,另一个以列表格式传递?
问题描述
我有原始数据:
id = 2345
id_num = 3,6,343,32
我需要通过 cx_Oracle 连接将上述两个参数作为 ORACLE SQL 查询中的参数传递为:
query = “””
select * from mytable where pid = 2345 and id_num in (3,6,343,32)
“””
我正在创建一个字典:
sparm = {}
sparm['pid'] = id
sparm['idnum'] = id_num
并尝试将其用作:
query = “””
select * from mytable where pid = :pid and id_num in :idnum
“””
df = pd.read_sql(query, con=conct, params=sparm)
没有成功。
:pid 有效,但 :idnum 无效。任何建议将不胜感激。
解决方案
我有原始数据:
id = 2345
id_num = 3,6,343,32
我需要通过 cx_Oracle 连接将上述两个参数作为 ORACLE SQL 查询中的参数传递为:
query = “””
select * from mytable where pid = 2345 and id_num in (3,6,343,32)
“””
我正在创建一个字典:
sparm = {}
sparm['pid'] = id
并为 where 子句创建一个元组:
where=tuple(list(id_num.split(",")))
并尝试将其用作:
query = “””
select * from mytable where pid = :pid and id_num in {}
“””.format(where)
df = pd.read_sql(query, con=conct, params=sparm)
成功。:pid 与 dict 输入一起使用, :idnum 用作元组输入。
推荐阅读
- highcharts - 屏幕阅读器无法访问 Highcharts 圆环图
- vue.js - VueJS (CDN) 在 Safari 浏览器上无法正常工作
- javascript - discord.js 'guildMemberAdd' 事件在打开 Intents 后仍不起作用
- snowflake-cloud-data-platform - 存储过程 SQL 编译错误中的执行错误:Statement.execute 中的标识符“TEST3”无效
- php - Laravel 在服务中使用路由助手
- php - 如何为 paypal 沙盒帐户设置 webhook?
- reactjs - 如何在 Typescript 中创建和使用呈现 {props.children} 的样式化组件?
- django - 如何在 django 设置中动态更改数据库密码
- snakemake - Snakemake 200000 作业提交
- c# - C# 如何从 DataGridView 中选择的行显示在 textBox1 中?