Pandas permet de transmettre des paramètres lors de l'exécution de requêtes SQL, à l'aide de la fonction read_sql()
.
Les paramètres peuvent être transmis sous forme de liste, de tuple ou de dictionnaire. Toutefois, la syntaxe prise en charge dépend du pilote de base de données utilisé.
Cette méthode consiste à utiliser l'espace réservé %s
ou le point d'interrogation ?
dans la requête SQL. Les paramètres sont transmis sous forme de liste ou de tuple, dans le même ordre qu'ils apparaissent dans la requête.
<code class="language-python">params = [datetime(2014, 6, 24, 16, 0), datetime(2014, 6, 24, 17, 0)] df = psql.read_sql('select "Timestamp", "Value" from "MyTable" where "Timestamp" BETWEEN %s AND %s', db, params, index_col=['Timestamp'])</code>
Lors de l'utilisation de paramètres de dictionnaire, les paires clé-valeur du dictionnaire correspondent aux noms de paramètres dans la requête SQL. Les noms de paramètres dans les requêtes doivent utiliser la syntaxe %(name)s
.
<code class="language-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, index_col=['Timestamp'])</code>
La syntaxe recommandée pour transmettre des paramètres à l'aide de requêtes SQL dans Pandas est d'utiliser des paramètres nommés (dict) ou des paramètres de position (liste ou tuple), selon la syntaxe prise en charge par le pilote de base de données.
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!