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

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Wed 19 November 2014 15:45

simo lay
Participant assidu
Date d'inscription: 8 Dec 2011
Messages: 172

Import de fichier CSV en masse Postgresql

Bonjour,
J'importe des fichiers .csv dans ma base PostreSQL (un par un) sans problème en utilisant

Code:

COPY table_name FROM 'D:/postgres_donnees/fichier1.csv' WITH DELIMITER AS '|';

aujourd'hui j'ai un répertoire qui contient 120 fichiers csv ayant la même structure, je trouve que c'est un peu long d'importer fichier par fichier et je me demande s'il y a un moyen d'importer tous les fichers csv dans une seule requête COPY.
j'ai essayé

Code:

COPY table_name FROM 'D:/postgres_donnees';

mais j'ai un message d'erreur

Code:

ERREUR:  n'a pas pu ouvrir le fichier « D:\postgres_donnees » pour une lecture : Permission denied

est ce que vous avez une idée sur la résolution de ce problème ?
Merci

Dernière modification par simo lay (Wed 19 November 2014 16:05)

Hors ligne

 

#2 Wed 19 November 2014 16:37

Nicolas Ribot
Membre
Lieu: Toulouse
Date d'inscription: 9 Sep 2005
Messages: 1554

Re: Import de fichier CSV en masse Postgresql

Bonjour,

Une commande ou un script, (shell ou dos) est parfait pour ca, du style (l'exemple marche pas...)

Code:

for f in `dir  D:/postgres_donnees/*.csv`; do 
   psql -c "COPY table_name FROM 'D:/postgres_donnees/$f' WITH DELIMITER AS '|'"
done

En dos, me rappelle plus trop la syntaxe, mais un rapide google donnera la réponse

Nicolas

Hors ligne

 

#3 Wed 19 November 2014 17:27

simo lay
Participant assidu
Date d'inscription: 8 Dec 2011
Messages: 172

Re: Import de fichier CSV en masse Postgresql

Merci Nicolas Ribot .

Hors ligne

 

Pied de page des forums

Powered by FluxBB