Comment transmettre des paramètres aux requêtes SQL dans read_sql() de Pandas ?

Mary-Kate Olsen
Libérer: 2024-10-30 01:49:29
original
453 Les gens l'ont consulté

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

Passer des paramètres dans read_sql de Pandas avec des requêtes SQL

Problème :

Lorsque vous travaillez avec Avec la méthode read_sql() de Pandas et les requêtes SQL, les utilisateurs peuvent rencontrer des difficultés à transmettre des paramètres à la requête. Bien que la documentation mentionne l'utilisation de paramètres sous forme de liste ou de tuple, certains utilisateurs rencontrent des problèmes lorsqu'ils tentent d'utiliser un format de dictionnaire.

Solution :

Selon le read_sql (), les paramètres peuvent en effet être passés sous forme de dictionnaire. Cependant, la syntaxe prise en charge par le pilote de base de données utilisé dans la connexion joue un rôle crucial.

Pour Psycopg2, le pilote de base de données couramment utilisé lors de la connexion à PostgreSQL, la syntaxe d'argument nommé est prise en charge. Dans ce cas, les noms des paramètres doivent être entourés de doubles signes % et spécifiés sous forme de dictionnaire, comme indiqué ci-dessous :

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

Dans cet exemple, la syntaxe %()s est utilisée pour définir les espaces réservés des paramètres. dans la requête SQL. Les valeurs correspondantes sont ensuite transmises sous forme de dictionnaire à l'argument params de read_sql().

En utilisant la syntaxe correcte pour le pilote de base de données utilisé, les utilisateurs peuvent transmettre avec succès des paramètres aux requêtes SQL lors de l'utilisation de read_sql( de Pandas. ) méthode.

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal