在尝试使用pd.read_sql时,我无法使用SQL Server进行参数化查询。
如果我运行
[core]
askpass =
那我得到了很好的结果:
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 :(得分:0)
我认为,您无需以param
的形式读取列名,而是以columns
的形式读取列名。
文档:https://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.read_sql.html
参数:
列:列表,默认值:无
要从SQL表中选择的列名列表(仅在读取表时使用)。
答案 1 :(得分:0)
将查询更改为表名,并传递要提取的列列表:
query = 'position_names'
columns = ['position_id','position_name']
pd.read_sql(query, engine, columns=columns)