当使用带有参数的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
答案 0 :(得分:0)
为什么不呢?
mssql