python – pandas read_sql返回传递参数的查询字符串

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']
点赞