python - 如何将 pd.read_sql 与参数一起使用
问题描述
尝试使用 pd.read_sql 时,我在使用 SQL 服务器进行参数化查询时遇到问题。
如果我跑
query = 'SELECT * FROM positions'
pd.read_sql(query,engine)
然后我得到了一个很好的结果:
position_id position_name
0 0 ACCOUNTING MANAGER
1 1 HR MANAGER
...
...
...
但如果我跑
query = 'SELECT ?,? FROM position_names'
params = ['position_id','position_name']
pd.read_sql(query, engine, params=params)
然后我得到:
0 position_id position_name
1 position_id position_name
2 position_id position_name
3 position_id position_name
...
...
我究竟做错了什么?谢谢你的帮助!
解决方案
将查询更改为表名并传递要提取的列列表:
query = 'position_names'
columns = ['position_id','position_name']
pd.read_sql(query, engine, columns=columns)
推荐阅读
- git - “无法自动检测电子邮件地址(得到 '@.(none)')”本地服务器
- breadth-first-search - STRIPS Planner 无法编译
- python - pyyaml datetime.now() + timedelta
- c# - 目标框架列表中缺少 .NET Core
- javascript - 进度完成后在部分之间滚动
- postman - 邮递员 API 测试
- java - Java Kafka 消费者 noClassDefFoundError
- apache-kafka - Kafka 生产者将文件写入主题:TimeoutException: Expiring record(s), Error sent message to topic with key: null, value
- sql - 我的查询在 SQL Server 2017 中有效,但在 SQL Server 2014 中无效
- java - H2 控制台未打开