Maison >développement back-end >Tutoriel Python >Comment transmettre des paramètres à une requête Pandas read_sql ?

Comment transmettre des paramètres à une requête Pandas read_sql ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-30 14:28:02770parcourir

How do I pass parameters to a Pandas read_sql query?

Pandas read_sql avec paramètres

Lorsque vous utilisez Pandas pour vous connecter à une base de données SQL à l'aide d'un moteur SQLAlchemy, il existe plusieurs façons de transmettre des paramètres à une requête SQL.

En particulier, la méthode read_sql permet de transmettre des paramètres sous forme de liste ou de tuple, comme démontré dans l'exemple ci-dessous :

<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>

Alternativement, les paramètres peuvent être transmis sous forme de dictionnaire, comme indiqué dans la documentation. Cependant, la syntaxe spécifique que vous utilisez pour transmettre des valeurs dans la requête SQL dépend du pilote de base de données que vous utilisez.

Dans le cas de psycopg2, la syntaxe recommandée pour les arguments nommés est %(name)s, comme démontré 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>

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!

Déclaration:
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