如何使用 SQL 查询将参数传递给 Pandas' read_sql?

Mary-Kate Olsen
发布: 2024-10-31 04:53:30
原创
722 人浏览过

How do I pass parameters to Pandas' read_sql with SQL queries?

通过 SQL 查询在 Pandas 的 read_sql 中传递参数

使用 Pandas 执行带参数的 SQL 查询时,主要有两种方法:以列表或元组形式传递参数,或将它们作为字典传递。

以列表或元组形式传递参数

第一种方法涉及使用占位符创建 SQL 查询,例如 BETWEEN % s AND %s,并将参数值作为列表或元组传递。这可以在以下示例中看到:

<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>
登录后复制

将参数作为字典传递

第二种方法涉及使用命名参数创建 SQL 查询,例如如 BETWEEN :dstart AND :dfinish,并将参数值作为字典传递。但是,需要注意的是,并非所有数据库驱动程序都支持命名参数。

例如,常与 PostgreSQL 一起使用的 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>
登录后复制

请记住检查所选数据库驱动程序的文档,以确定命名参数支持的语法。

以上是如何使用 SQL 查询将参数传递给 Pandas' read_sql?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板