Maison > Article > développement back-end > Comment transmettre des paramètres à 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.
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>
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>
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!