简体   繁体   English

如何在sqlalchemy中使用sql查询中的变量?

[英]How to use variables in sql query in sqlalchemy?

Unable to pass data from excel as variable in sql query in sql alchemy in Python.无法将来自 excel 的数据作为 sql 查询中的变量传递给 sql 炼金术中的 Python。

Below is my code where I am accessing list of company ids from excel;下面是我的代码,我从 excel 访问公司 ID 列表; But when I try to use that in the sql query in (in condition), it throws me error.但是当我尝试在(条件)的 sql 查询中使用它时,它会抛出错误。 Can you tell me how to pass variable in sql query in sql alchemy.你能告诉我如何在 sql 炼金术的 sql 查询中传递变量吗?

file_loc = path + file
company_id = pd.read_excel(file_loc,sheet_name='Sheet1',index_col=None,usecols="A",header=1)

qry = sqlalchemy.text("SELECT year,name,source,SUM(value) FROM table WHERE id in (:company_id) GROUP BY year,name,source")
qryres = pd.read_sql(qry,conn)

you can use this:你可以使用这个:

file_loc = path + file
company_id = pd.read_excel(file_loc,sheet_name='Sheet1',index_col=None,usecols="A",header=1)

qry = sqlalchemy.text(f"SELECT year,name,source,SUM(value) FROM table WHERE id in ({company_id}) GROUP BY year,name,source")
qryres = pd.read_sql(qry,conn)

Docs: https://docs.python.org/3.5/library/string.html#format-string-syntax文档: https://docs.python.org/3.5/library/string.html#format-string-syntax

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM