#1 Sat 15 April 2017 20:46
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
QGIS: Import csv dans postgres
Bonsoir,
j'ai très souvent utilisé la commande COPY pour importer des csv dans ma base postgres et la commande que j'utilisais dans un script python est la suivante :
copy s2_2016 to 'C:\Users\Diop\Desktop\Prairie_sensible\import_postgres\s2_2016.csv' WITH csv DELIMITER ';' ;
En exécutant cette commande j'ai le message suivant que je n'ai jamais eu au paravant :
ProgrammingError: ERREUR: la relation « s2_2016 » n'existe pas
J'ai certainement oublié quelques chose mais je ne vois pas quoi.
Quelqu'un aurait-il une explication
Hors ligne
#2 Sat 15 April 2017 22:56
- Lsam
- Participant assidu
- Date d'inscription: 27 Nov 2013
- Messages: 157
Re: QGIS: Import csv dans postgres
Bonsoir,
J'ai certainement oublié quelques chose mais je ne vois pas quoi.
Ne serait-ce pas le nom du schéma devant le nom de la table ?
Hors ligne
#3 Sun 16 April 2017 01:15
- JD
- Moderateur
- Date d'inscription: 8 Aug 2013
- Messages: 722
Re: QGIS: Import csv dans postgres
Bonsoir,
vu le message d'erreur, comme le souligne Lsam, ca semble être le fait qu'il ne trouve pas la table.
Par contre, tu souhaites importer ou exporter car tu emploies le mot clé to plutôt que from.
Code:
copy s2_2016 from 'C:\Users\Diop\Desktop\Prairie_sensible\import_postgres\s2_2016.csv' WITH csv DELIMITER ';' ;
Cordialement,
Hors ligne
#4 Sun 16 April 2017 08:17
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: QGIS: Import csv dans postgres
C'est bien importer avec le From.
Si le schéma n'est pas précisé en principe c'est public qui serait pris par défaut
Hors ligne
#5 Tue 18 April 2017 09:27
- Kadiri28
- Participant actif
- Lieu: Toulouse
- Date d'inscription: 10 Mar 2010
- Messages: 121
Re: QGIS: Import csv dans postgres
Bonjour,
Essayez avec un slash '/' et non un antislash '\' pour le lien
Dernière modification par Kadiri28 (Tue 18 April 2017 09:27)
Hors ligne
#6 Tue 18 April 2017 14:54
- Xavier Julian
- Participant assidu
- Lieu: Orange
- Date d'inscription: 19 Jan 2015
- Messages: 218
Re: QGIS: Import csv dans postgres
Bonjour,
Sinon dans pgAdmin, clic droit sur votre table -> Importer (choisir format = csv dans l'onglet "préférences pour les fichiers") ?
++
Hors ligne
#7 Wed 19 April 2017 14:09
Re: QGIS: Import csv dans postgres
Bonjour,
pour l'import ponctuel de fichier, l'utilisation du Gestionnaire de BD de QGIS fait très très bien l'affaire.
Mathieu BOSSAERT
Association GeoRezo
Hors ligne
#8 Thu 20 April 2017 08:06
- Ted
- Participant assidu
- Date d'inscription: 16 Jan 2007
- Messages: 181
Re: QGIS: Import csv dans postgres
Bonjour,
Ne faut-il pas créer la table vide avant :
Code:
create table s2_2016 ("toto" numeric, "tata" varchar....
Puis le copy, en faisant attention il me semble aux guillemets pour le nom de votre fichier, car il contient des "chiffres" :
Code:
COPY "s2_2016" from 'C:\Users\Diop\Desktop\Prairie_sensible\import_postgres\s2_2016.csv' with delimiter as ';'
En espérant que cela puisse aider, sinon la solution de MathieuB fonctionne très bien.
a+
Hors ligne
#9 Sun 30 April 2017 15:53
- diophamidou
- Participant assidu
- Date d'inscription: 18 Jan 2006
- Messages: 243
Re: QGIS: Import csv dans postgres
Bonjour et merci pour vos réponses,
Oui en effet, je connais bien l'option de passer par PgAdmin ou QGIS pour importer les données csv. Mais mon but était de passer par un script python qui fait à la fois la création de la structure de la table et l'import des données.
ogrinfo permet bien de connaitre la structure de la table, comment peut-on récupérer cela et l'introduire dans le script python.
Je vous remercie
Hors ligne