Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Printemps des cartes 2024

#1 Wed 05 February 2020 21:48

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Import CSV dans Postgre

Bonjour,

Je souhaite importer un CSV de taille conséquente (700mb) dans une base de données déjà crée dans PgAdmin. Jusqu'à présent, j'utilisais QGis pour importer mes CSV et shape, mais je me rend compte de sa limite lorsque les fichier CSV sont gros.

Existe t-il une autre méthode pour importer un CSV dans PGAdmin, autre que celui de créer une table et les champs un à un ? Je possède des CSV avec plusieurs dizaines de champs ^^

Merci.

Hors ligne

 

#2 Wed 05 February 2020 22:32

PA
Membre
Lieu: Paris
Date d'inscription: 5 Sep 2005
Messages: 3259
Site web

Re: Import CSV dans Postgre

Bonsoir,

Oui, PostgreSQL est accessible en ligne de commande et c'est même fortement recommandé pour les gros imports :


Code:

psql -c "\copy tbname FROM '/tmp/the_file.csv' delimiter '|' csv"

Dans un terminal ou invite de commande DOS.


PgAdmin n'est qu'un outil d'administration de votre base.


Pierre-André Le Ny
Modérateur QGIS, Données, Coin de l'OpenSource
Aidez l'association GeoRezo !

Hors ligne

 

#3 Thu 06 February 2020 09:13

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

Re: Import CSV dans Postgre

Salut,

pour la création automatique de table à partir de csv :

https://github.com/nmccready/csv2psql

Hors ligne

 

#4 Thu 06 February 2020 17:47

preliator
Participant assidu
Date d'inscription: 17 Nov 2018
Messages: 433

Re: Import CSV dans Postgre

Un grand merci pour vos réponses. J'utilise la technique de PA, avec le terminal de psql. Après m'être connecté à ma bdd, crée la table "tab_temp" vide dans PgAdmin, placé le fichier CSV que je souhaite importer dans un dossier du bureau, je rencontre malheureusement un problème de :

"ERREUR:  données supplémentaires après la dernière colonne attendue".

Après avoir entré la formule :

Code:

\copy tab_temp FROM 'C:\Users\Kevin\Desktop\delete\table.csv' delimiter ';' csv

Mon fichier CSV est sous la forme :
MAISON;AGE
maison_1;12
maison_2;45
maison_3;78
maison_4;45
maison_5;2
maison_6;56


Merci à vous.

Dernière modification par preliator (Thu 06 February 2020 17:48)

Hors ligne

 

#5 Fri 07 February 2020 09:27

tumasgiu
Membre
Lieu: Ajaccio
Date d'inscription: 5 Jul 2010
Messages: 1132

Re: Import CSV dans Postgre

Apparemment il y a plus de colonne dans votre csv que dans votre table pg.

Hors ligne

 

Pied de page des forums

Powered by FluxBB