使用 SQLAlchemy 进行 Pandas 的 read_sql 查询中的参数
当使用 SQLAlchemy 引擎连接到数据库时,可以在使用 Pandas 的 read_sql 方法进行 SQL 查询。有两种主要方法可以实现此目的,如下所述。
使用列表或元组
此方法涉及创建包含要传递的值的列表或元组到查询。 SQL 语句中这些值的占位符应该是问号 (?)。例如:
<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" ' 'where "Timestamp" BETWEEN %s AND %s'), db,params=[datetime(2014,6,24,16,0),datetime(2014,6,24,17,0)], index_col=['Timestamp'])</code>
使用字典
或者,可以使用字典通过指定参数名称及其对应值来传递参数。但是,用于参数占位符的特定语法可能会因数据库驱动程序而异。对于 psycopg2,首选语法是使用 %(name)s 格式。
<code class="python">df = psql.read_sql(('select "Timestamp", "Value" from "MyTable" ' 'where "Timestamp" BETWEEN %(dstart)s AND %(dfinish)s'), db,params={"dstart":datetime(2014,6,24,16,0),"dfinish":datetime(2014,6,24,17,0)}, index_col=['Timestamp'])</code>
需要注意的是,支持的参数语法将根据所使用的数据库驱动程序而有所不同。因此,建议查阅特定驱动程序的文档以确保正确使用。
以上是如何使用 Pandas 的 read_sql 方法和 SQLAlchemy 将参数传递给 SQL 查询?的详细内容。更多信息请关注PHP中文网其他相关文章!