我已经看到很多关于类似 SQL 查询的答案,但由于某种原因,没有一个解决方案适用于我的查询。我正在尝试将我的查询读入将它们与我之前的(列表)变量匹配的熊猫数据框中。谢谢你的任何建议
genename = names
location = residuelist
query ='SELECT "KINASE_NAME", "GENE_NAME", "RESIDUE" FROM public."Phosphosite_table" WHERE "GENE_NAME" LIKE "%s" AND "RESIDUE" LIKE "%s"' %(genename, location)
df = pd.read_sql(query, con= pg.connect(conn_string))
我得到一个列不存在错误,我不明白如何解决它了。感谢您的任何帮助
在评论中的建议之后,我尝试将查询更改为:
query ='SELECT KINASE_NAME, GENE_NAME, RESIDUE FROM public.Phosphosite_table WHERE GENE_NAME LIKE '%s' AND RESIDUE LIKE '%s'' %(genename, location)
df = pd.read_sql(query, con= pg.connect(conn_string))
这样我在 LIKE 之后得到一个语法错误 基因名和位置变量是列表,基本上我试图通过 python 访问 PostgreSQL 数据库(使用 psycopg),但由于我无法解决错误,现在我正在尝试使用 pandas.read_sql 函数。
我对SQL的经验很少,所以我真的很感谢所有的建议和更正