如何在Python中使用Pandas创建基于参数的SQL server查询

如何在Python中使用Pandas创建基于参数的SQL server查询,python,sql-server,pandas,sqlalchemy,Python,Sql Server,Pandas,Sqlalchemy,我正在使用以下代码 import sqlalchemy as sq from sqlalchemy import create_engine import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline import seaborn as sns server = 'ourServer' database = 'ourdatabase' driver = 'SQL Server

我正在使用以下代码

import sqlalchemy as sq
from sqlalchemy import create_engine
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
import seaborn as sns

server = 'ourServer'
database = 'ourdatabase'
driver = 'SQL Server'
username = 'username'
password = 'password'
database_connection= f'mssql://{username}:{password}@{server}/{database}?driver={driver}'

engine = sq.create_engine(database_connection)
connection = engine.connect()

account_id = '111111111'

x= pd.read_sql_query("select * from tablename where AccountID =?, account_id" , connection)
当我运行上面的代码时,它抛出这个错误

DBAPIError:(pyodbc.Error)('07002'、'[07002][Microsoft][ODBC SQL Server驱动程序]计数字段不正确或语法错误(0)(SQLExecDirectW)'))


如何为SQL查询条件传递参数?

文档中似乎已经介绍了这一点。您是否尝试过:
x=pd.read\u sql\u查询(“select*from tablename where AccountID=?”,connection,params=(account\u id))
?@AlwaysLearning-缺少逗号使其成为元组<代码>参数=(帐户id),@GordThompson谢谢,没错。非常感谢@GordThompson。它与tuple一起工作。也感谢@AlwaysLearning为您提供的快速响应。