import pandas as pd
q = """
select *
from tbl
where metric = %(my_metric)s
;
"""
params = {'my_metric':'sales'}
pd.read_sql(q, mysql_conn, params=params)
我使用pandas read_sql函数安全地将参数传递给我的查询字符串.我想返回最终查询字符串,替换参数以及结果.例如,返回字符串:
select *
from tbl
where metric = 'sales'
;
有什么办法吗?
最佳答案 好的,在这种情况下试试这个:
import pandas as pd
q = """
select *
from tbl
where metric = %s
;
"""
params = {'my_metric': 'sales'}
df = pd.read_sql(q, mysql_conn, params=[params['my_metric']])
query_string = q % params['my_metric']