如何使用 Pandas read_sql 传递参数?

DDD
发布: 2024-11-01 22:42:02
原创
121 人浏览过

How to Pass Parameters with Pandas read_sql?

使用 Pandas read_sql 传递参数

概述

Pandas read_sql 函数允许您执行 SQL 查询并从数据库检索数据。它的功能之一是能够将参数传递给查询。

参数语法

参数可以作为列表、元组或字典传递。确切的语法取决于所使用的数据库驱动程序。以下是一些常见示例:

  • ?或 %s:单个值的占位符
  • :1 或 :name:单个值的命名占位符
  • %(name)s:使用 string.format 语法的命名占位符

使用带有命名参数的字典

传递参数的一个选项是使用字典。大多数驱动程序都支持这一点,包括带有 psycopg2 驱动程序的 PostgreSQL。字典中的键值对对应于查询中的命名占位符。

示例

为了演示命名参数方法,让我们考虑以下 SQL 查询:

<code class="sql">select "Timestamp", "Value" from "MyTable"
where "Timestamp" BETWEEN :dstart AND :dfinish</code>
登录后复制

以下是如何使用字典将参数传递给此查询:

<code class="python">params = {"dstart": datetime(2014, 6, 24, 16, 0), "dfinish": datetime(2014, 6, 24, 17, 0)}

df = psql.read_sql(
    "select \"Timestamp\",\"Value\" from \"MyTable\" where \"Timestamp\" BETWEEN %(dstart)s AND %(dfinish)s",
    db,
    params=params,
    index_col=["Timestamp"],
)</code>
登录后复制

在此示例中,params 字典为命名占位符 :dstart 和 :dfinish 提供值。 %(name)s 语法确保将值正确插入到查询中。

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

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