Annonce
Pour sécuriser votre compte sur les forums du GeoRezo, nous demandons de changer votre mot de passe.
Vous allez recevoir un message pour effectuer ce changement de mot de passe.
Merci de bien respecter les règles préconisées.
#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: 1538
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: 1538
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