熊猫函数read_sql()在插入最终SQL查询的参数周围加上引号

时间:2019-04-17 17:55:03

标签: python pandas postgresql sqlalchemy

当使用带有参数的read_sql()从postgresql数据库中读取表时,最终的sql查询包含用单引号引起来的参数,这使postgresql数据库无法理解该查询。 这是我使用的代码:

import sqlalchemy as db
import pandas as pd

engine = db.create_engine('postgresql+psycopg2://myuser:mypass@localhost/mydb')

df = pd.DataFrame({'a': [11,21], 'b': [31,41]})
df.to_sql('test1', engine, if_exists='append', index=False)

df1 = pd.read_sql("SELECT * FROM %(table_name)s;", engine, params={'table_name': 'test1'})

print(df1)

表test1在数据库中按预期创建,但是当我尝试将其读回pandas数据框时,出现以下错误: error message

1 个答案:

答案 0 :(得分:0)

为什么不呢?

mssql