Comment transmettre des paramètres avec Pandas read_sql ?

DDD
Libérer: 2024-11-01 22:42:02
original
121 Les gens l'ont consulté

How to Pass Parameters with Pandas read_sql?

Passer des paramètres avec Pandas read_sql

Présentation

La fonction Pandas read_sql vous permet d'exécuter des requêtes SQL et de récupérer des données à partir d'une base de données. L'une de ses fonctionnalités est la possibilité de transmettre des paramètres à la requête.

Syntaxe des paramètres

Les paramètres peuvent être transmis sous forme de liste, de tuple ou de dict. La syntaxe exacte dépend du pilote de base de données utilisé. Voici quelques exemples courants :

  •  ? ou %s : espace réservé pour une valeur unique
  • :1 ou :name : espace réservé nommé pour une valeur unique
  • %(name)s : espace réservé nommé utilisant la syntaxe string.format

Utiliser un dictionnaire avec des arguments nommés

Une option pour transmettre des paramètres consiste à utiliser un dictionnaire. Ceci est pris en charge par la plupart des pilotes, y compris PostgreSQL avec le pilote psycopg2. Les paires clé-valeur du dictionnaire correspondent aux espaces réservés nommés dans la requête.

Exemple

Pour illustrer l'approche de l'argument nommé, considérons la requête SQL suivante :

<code class="sql">select "Timestamp", "Value" from "MyTable"
where "Timestamp" BETWEEN :dstart AND :dfinish</code>
Copier après la connexion

Voici comment transmettre des paramètres à cette requête à l'aide d'un dictionnaire :

<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>
Copier après la connexion

Dans cet exemple, le dictionnaire params fournit des valeurs pour les espaces réservés nommés :dstart et :dfinish. La syntaxe %(name)s garantit que les valeurs sont correctement insérées dans la requête.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!