dans un script python, j'utilise psycopg2 pour interroger une base de
donn=E9es Postgresql. Je souhaiterais pouvoir r=E9cup=E9rer le r=E9sultat d=
'une
requ=EAte sous son formatage habituel, par exemple :
Dans un script bash, cela se fait ais=E9ment en utilisant l'interface =E0
PostgreSQL en ligne de commandes qu'est psql. Mais cela est-il possible
directement en python ?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Bruno Desthuilliers
Denis Bitouzé a écrit :
[fu2 sur fr.comp.lang.python]
Bonjour,
dans un script python, j'utilise psycopg2 pour interroger une base de données Postgresql. Je souhaiterais pouvoir récupérer le résultat d'une requête sous son formatage habituel, par exemple :
Dans un script bash, cela se fait aisément en utilisant l'interface à PostgreSQL en ligne de commandes qu'est psql. Mais cela est-il possible directement en python ?
Tu peux toujours passer par un appel système à psql, mais c'est relativement lourd comparé à une requête directe via psycopg2.
Denis Bitouzé a écrit :
[fu2 sur fr.comp.lang.python]
Bonjour,
dans un script python, j'utilise psycopg2 pour interroger une base de
données Postgresql. Je souhaiterais pouvoir récupérer le résultat d'une
requête sous son formatage habituel, par exemple :
Dans un script bash, cela se fait aisément en utilisant l'interface à
PostgreSQL en ligne de commandes qu'est psql. Mais cela est-il possible
directement en python ?
Tu peux toujours passer par un appel système à psql, mais c'est
relativement lourd comparé à une requête directe via psycopg2.
dans un script python, j'utilise psycopg2 pour interroger une base de données Postgresql. Je souhaiterais pouvoir récupérer le résultat d'une requête sous son formatage habituel, par exemple :
Dans un script bash, cela se fait aisément en utilisant l'interface à PostgreSQL en ligne de commandes qu'est psql. Mais cela est-il possible directement en python ?
Tu peux toujours passer par un appel système à psql, mais c'est relativement lourd comparé à une requête directe via psycopg2.
Denis Bitouzé
Le jeudi 28/01/10 à 10h20, Bruno Desthuilliers a écrit :
j'avoue que je ne vois pas trop l'intérêt ?
Pour ne pas me fatiguer à fignoler un formatage moi-même : je trouve celui de Postgresql tout à fait suffisant pour l'instant ;)
Tu peux toujours passer par un appel système à psql, mais c'est relativement lourd comparé à une requête directe via psycopg2.
Pourquoi ? Parce que tu trouves psql lourd en lui-même, ou bien parce que son appel dans un script python te paraît lourd ?
Merci ! -- Denis
Le jeudi 28/01/10 à 10h20,
Bruno Desthuilliers <bruno.42.desthuilliers@websiteburo.invalid> a
écrit :
j'avoue que je ne vois pas trop l'intérêt ?
Pour ne pas me fatiguer à fignoler un formatage moi-même : je trouve
celui de Postgresql tout à fait suffisant pour l'instant ;)
Tu peux toujours passer par un appel système à psql, mais c'est
relativement lourd comparé à une requête directe via psycopg2.
Pourquoi ? Parce que tu trouves psql lourd en lui-même, ou bien parce
que son appel dans un script python te paraît lourd ?
Le jeudi 28/01/10 à 12h29, Alain Ketterlin a écrit :
Comme Bruno, je ne comprends pas vraiment le problème.
Pour préciser les raisons de ma question, voici le contexte : je dispose d'un site sous CPS (un ECM qui s'appuie sur Zope) et je souhaite insérer dans les espaces privés des membres de ce site des fichiers, ce qui est possible à partir d'un script python. Mais ces fichiers (.txt) doivent contenir, présentés sous la forme habituelle de tables, les résultats de requêtes Postgresql, et je n'ai pas envie de me fatiguer à les formater moi-même avec python : autant utiliser le savoir-faire de psql ;)
Veux-tu juste faire apparaître le résultat de la requête :
Donc oui.
ou bien as-tu besoin des données par ailleurs dans ton script ?
Oui aussi.
Dans le premier cas, le mieux est sûrement d'appeler psql. Dans le second, appeler psql reviendrait à faire une deuxième fois la requê te, ce qui est, disons, modérément élégant.
J'en conviens, mais je veux le beurre et son argent ;) : accéder aux données de la base pour mon script (par exemple les identifiants des membres), et disposer de la mise en forme des requêtes pour les envoyer dans le fichier .txt (je songe aussi à bénéficier de l'export en html de la requête que permet psql).
Sauf données vraiment particulières, un formatage simple devrait êt re facile à obtenir avec %.
Ça doit, mais je pratique trop irrégulièrement python pour le faire sans me fatiguer.
On m'a par ailleurs indiqué le module prettytable (http://code.google.com/p/prettytable) qui peut m'être utile.
Merci ! -- Denis
Le jeudi 28/01/10 à 12h29,
Alain Ketterlin <alain@dpt-info.u-strasbg.fr> a écrit :
Comme Bruno, je ne comprends pas vraiment le problème.
Pour préciser les raisons de ma question, voici le contexte : je
dispose d'un site sous CPS (un ECM qui s'appuie sur Zope) et je
souhaite insérer dans les espaces privés des membres de ce site des
fichiers, ce qui est possible à partir d'un script python. Mais ces
fichiers (.txt) doivent contenir, présentés sous la forme habituelle de
tables, les résultats de requêtes Postgresql, et je n'ai pas envie de
me fatiguer à les formater moi-même avec python : autant utiliser le
savoir-faire de psql ;)
Veux-tu juste faire apparaître le résultat de la requête :
Donc oui.
ou bien as-tu besoin des données par ailleurs dans ton script ?
Oui aussi.
Dans le premier cas, le mieux est sûrement d'appeler psql. Dans le
second, appeler psql reviendrait à faire une deuxième fois la requê te,
ce qui est, disons, modérément élégant.
J'en conviens, mais je veux le beurre et son argent ;) : accéder aux
données de la base pour mon script (par exemple les identifiants des
membres), et disposer de la mise en forme des requêtes pour les envoyer
dans le fichier .txt (je songe aussi à bénéficier de l'export en
html de la requête que permet psql).
Sauf données vraiment particulières, un formatage simple devrait êt re
facile à obtenir avec %.
Ça doit, mais je pratique trop irrégulièrement python pour le faire
sans me fatiguer.
On m'a par ailleurs indiqué le module prettytable
(http://code.google.com/p/prettytable) qui peut m'être utile.
Le jeudi 28/01/10 à 12h29, Alain Ketterlin a écrit :
Comme Bruno, je ne comprends pas vraiment le problème.
Pour préciser les raisons de ma question, voici le contexte : je dispose d'un site sous CPS (un ECM qui s'appuie sur Zope) et je souhaite insérer dans les espaces privés des membres de ce site des fichiers, ce qui est possible à partir d'un script python. Mais ces fichiers (.txt) doivent contenir, présentés sous la forme habituelle de tables, les résultats de requêtes Postgresql, et je n'ai pas envie de me fatiguer à les formater moi-même avec python : autant utiliser le savoir-faire de psql ;)
Veux-tu juste faire apparaître le résultat de la requête :
Donc oui.
ou bien as-tu besoin des données par ailleurs dans ton script ?
Oui aussi.
Dans le premier cas, le mieux est sûrement d'appeler psql. Dans le second, appeler psql reviendrait à faire une deuxième fois la requê te, ce qui est, disons, modérément élégant.
J'en conviens, mais je veux le beurre et son argent ;) : accéder aux données de la base pour mon script (par exemple les identifiants des membres), et disposer de la mise en forme des requêtes pour les envoyer dans le fichier .txt (je songe aussi à bénéficier de l'export en html de la requête que permet psql).
Sauf données vraiment particulières, un formatage simple devrait êt re facile à obtenir avec %.
Ça doit, mais je pratique trop irrégulièrement python pour le faire sans me fatiguer.
On m'a par ailleurs indiqué le module prettytable (http://code.google.com/p/prettytable) qui peut m'être utile.
Merci ! -- Denis
William Dode
On 28-01-2010, Denis Bitouzé wrote:
Ça doit, mais je pratique trop irrégulièrement python pour le faire sans me fatiguer.
En gros c'est typiquement le genre de chose qui va beaucoup plus vite à faire qu'à chercher comment ne pas le faire ;-)
-- William Dodé - http://flibuste.net Informaticien Indépendant
On 28-01-2010, Denis Bitouzé wrote:
Ça doit, mais je pratique trop irrégulièrement python pour le faire
sans me fatiguer.
En gros c'est typiquement le genre de chose qui va beaucoup plus vite
à faire qu'à chercher comment ne pas le faire ;-)
--
William Dodé - http://flibuste.net
Informaticien Indépendant