#1 Fri 14 December 2007 14:35
- Y.info
- Participant occasionnel
- Lieu: Tunis
- Date d'inscription: 19 Oct 2007
- Messages: 34
exportation des données
Bonsoir,
Avez-vous une idée comment je peux exporter mes données (contenu de mes bases de données) a partir du postgresql/postgis vers une fichier excel par exemple.
sachant que travail avec:
postgreSQL 8.2
postgis 1.2
Cordialement Y.info
Hors ligne
#2 Fri 14 December 2007 15:01
Re: exportation des données
Bonjour,
Avec
Code:
psql -d <baseDeDonnees> -c "SELECT champ FROM <maTable> WHERE <champ>=<valeur>"
le séparateur est un caractère "|"
Y.
Yves Jacolin, bénévole de l'association GeoRezo.net, agit au nom et pour le compte de l'association - Partageons ce qui nous départage !! - GeoRezo vous aide ? Aidez GeoRezo !
Hors ligne
#3 Tue 18 December 2007 08:07
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: exportation des données
La commande COPY TO permet d'exporter les données dans un
format fichier, par exemple CSV.
La commande, disponible avec psql en tapant:
help copy
est la suivante:
COPY { tablename [ ( column [, ...] ) ] | ( query ) }
TO { 'filename' | STDOUT }
[ [ WITH ]
[ BINARY ]
[ HEADER ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ HEADER ]
[ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]
Nicolas
Hors ligne
#4 Tue 25 December 2007 11:14
- Y.info
- Participant occasionnel
- Lieu: Tunis
- Date d'inscription: 19 Oct 2007
- Messages: 34
Re: exportation des données
Merci Nicolas pour votre réponse
Mais Pouvez-vous m'expliquez ça mieux, Es-ce que je dois taper ça dans l'invite de commande.
dois-je mettre les noms des colonnes de ma table dans ( column [, ...] )
et es-ce que je dois introduire le chemin complet du fichier destination 'filename' sinon où je dois le mettre.
Et que voulez-vous dire par
[ WITH ]
[ BINARY ]
[ HEADER ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ HEADER ]
[ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]
pour moi j'ai par exemple une table qui s'appelle 'position' qui contient 4 colonnes (date, heure, latitude, longitude) se trouvant sous la base 'postgis' et que je dois exporter son contenu dans un fichier excel par exemple sous C:\
que dois-je faire?
Merci pour votre compréhension.
Cordialement
Y.info
Dernière modification par Y.info (Tue 25 December 2007 11:16)
Hors ligne
#5 Wed 26 December 2007 13:55
- Nicolas Ribot
- Membre
- Lieu: Toulouse
- Date d'inscription: 9 Sep 2005
- Messages: 1554
Re: exportation des données
Mais Pouvez-vous m'expliquez ça mieux, Es-ce que je dois taper ça dans l'invite de commande.
Oui, c'est une commande postgresql a taper dans pgsql (l'outil en
ligne de commandes de PG) ou dans PGAdmin III, dans la fenetre SQL.
dois-je mettre les noms des colonnes de ma table dans ( column [, ...] ) et es-ce que je dois introduire le chemin complet du fichier destination 'filename' sinon où je dois le mettre.
Oui, il faut entrer le chemin absolu vers le fichier a copier, par exemple
copy matable to 'c:matable.csv';
Et que voulez-vous dire par
[ WITH ]
[ BINARY ]
[ HEADER ]
[ OIDS ]
[ DELIMITER [ AS ] 'delimiter' ]
[ NULL [ AS ] 'null string' ]
[ CSV [ HEADER ]
[ QUOTE [ AS ] 'quote' ]
[ ESCAPE [ AS ] 'escape' ]
[ FORCE QUOTE column [, ...] ]
pour moi j'ai par exemple une table qui s'appelle 'position' qui contient 4 colonnes (date, heure, latitude, longitude), dans la base 'postgis' et que je dois exporter son contenu dans un fichier excel par exemple qui se trouve sous C: que dois-je faire?
C'est la syntaxe de la commande, disponible dans psql en tapant help copy
Par exemple pour exporter toutes les colonnes de la table position en
fichier csv, compatible excel, taper:
copy positions to 'c:positions.csv' DELIMITER ',' CSV HEADER ;
Attention au delimiter des enregistrements: il ne doit pas etre
present dans les enregistrements.
Pour en copier q'une partie des données (limitation en colonnes et/ou
en lignes), entrer une requete SQL a la place du nom de la table, par
ex:
copy (select date, heure, latitude, longitude from positions where
date > ...) to 'c:positions.csv' DELIMITER ',' CSV HEADER ;
Nicolas
Hors ligne