如何将参数传递给 Pandas 的 read_sql() 中的 SQL 查询?

Mary-Kate Olsen
发布: 2024-10-30 01:49:29
原创
412 人浏览过

How to Pass Parameters to SQL Queries in Pandas' read_sql()?

使用 SQL 查询在 Pandas 的 read_sql 中传递参数

问题:

使用时Pandas 的 read_sql() 方法和 SQL 查询,用户可能会遇到向查询传递参数的困难。虽然文档提到使用参数作为列表或元组,但一些用户在尝试使用字典格式时发现了问题。

解决方案:

根据 read_sql () 文档中,参数确实可以作为字典传递。然而,连接中使用的数据库驱动程序支持的语法起着至关重要的作用。

对于连接 PostgreSQL 时常用的数据库驱动程序 Psycopg2,支持命名参数语法。在这种情况下,参数名称应包含在双 % 符号中并指定为字典,如下所示:

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

在此示例中,%()s 语法用于定义参数占位符在 SQL 查询中。然后将相应的值作为字典传递给 read_sql() 的 params 参数。

通过利用所使用的数据库驱动程序的正确语法,用户可以在使用 Pandas 的 read_sql( ) 方法。

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

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!