Maison > développement back-end > Tutoriel Python > Comment transmettre des paramètres à read_sql de Pandas avec des requêtes SQL ?

Comment transmettre des paramètres à read_sql de Pandas avec des requêtes SQL ?

Mary-Kate Olsen
Libérer: 2024-10-31 04:53:30
original
746 Les gens l'ont consulté

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

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

Lorsque vous utilisez Pandas pour effectuer des requêtes SQL avec des paramètres, il existe deux approches principales : transmettre des paramètres sous forme de liste ou de tuple , ou en les transmettant sous forme de dictionnaire.

Passer des paramètres sous forme de liste ou de tuple

La première méthode consiste à créer une requête SQL avec des espaces réservés, tels que BETWEEN % s AND %s, et en transmettant les valeurs des paramètres sous forme de liste ou de tuple. Cela peut être vu dans l'exemple suivant :

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

Passing Parameters as a Dictionary

La deuxième méthode consiste à créer une requête SQL avec des paramètres nommés, tels que comme ENTRE :dstart AND :dfinish, et en passant les valeurs des paramètres sous forme de dictionnaire. Cependant, il est important de noter que tous les pilotes de base de données ne prennent pas en charge les paramètres nommés.

Par exemple, psycopg2, qui est couramment utilisé avec PostgreSQL, prend en charge le style %(name)s des paramètres nommés. Voici un exemple :

<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

N'oubliez pas de consulter la documentation du pilote de base de données que vous avez choisi pour déterminer la syntaxe prise en charge pour les paramètres nommés.

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