假设我有一个功能:
def retrieve (c,y):
df = pd.read_sql("select Year, ? from table where Year=? ",db, params=(c,y))
return df
我希望能够按如下方式调用该函数:
retrieve("col_name",2001)
当我删除列名作为我可以传递的变量时,它可以正常工作。但我也需要能够传递列名。有没有办法让这项工作成功?
答案 0 :(得分:2)
您可以尝试使用Python格式化查询字符串,而不是使用预准备语句。
querysting = "select Year, {} from table where Year={}".format(c,y)
df = pd.read_sql(querystring,db)