Pages: 1
- Sujet précédent - Automatisation d'import des fichiers text vers PostgreSQL - Sujet suivant
#1 Mon 15 October 2012 10:36
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Automatisation d'import des fichiers text vers PostgreSQL
Bonjour,
j'ai un historique de la base DVF ( Demande de valeurs foncières) sur un departement que je souhaite importer dans postgresql, le dossier que j'ai reçu contient une cinquantaine de fichier txt, ma question est de savoir est ce qu'il y a un moyen d'automatiser l'imoprt de ces fichiers txt dans postgresql, c'est à dire au lieu d'importer fichier par fichier (ce qui est long 50 créations de table et 50 imoprt) importer tous les fichier txt dans une seule fois.
Merci
Hors ligne
#2 Mon 15 October 2012 11:51
- nawak
- Participant assidu
- Date d'inscription: 11 Sep 2007
- Messages: 216
Re: Automatisation d'import des fichiers text vers PostgreSQL
Salut,
Tu peux essayer un truc de ce genre là dans un terminal :
for z in $(ls *.txt); do psql -c "\copy fichier.txt from '$z' WITH DELIMITER AS ';' " -d base; done
Sinon tu as également des solutions logiciel genre ETL.
Hors ligne
#3 Mon 15 October 2012 11:55
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: Automatisation d'import des fichiers text vers PostgreSQL
Bonjour,
Si j'avais cela à faire, je le ferais avec R. Mais il faut quelques bases en R !
La fonction read.table permet de lire des fichiers texte et de les mettre en forme avec le nom des colonnes.
La fonction list.files permet de lister les fichiers contenus dans un dossier
La fonction sqlSave du package RODBC d'exporter un dataframe R dans Postgres
Comme tout language, R permet de faire des poucles FOR ou WHILE.
En effet, R ne sert pas qu'à faire des ACP et des modèles statistiques. Ce langage est également très pratique pour manipuler des données et automatiser certaines tâches !
Pascal PLUVINET
Hors ligne
#4 Mon 15 October 2012 12:12
- freesnowpetrel
- Participant assidu
- Lieu: Pretoria, Afrique du Sud
- Date d'inscription: 1 Mar 2007
- Messages: 222
Re: Automatisation d'import des fichiers text vers PostgreSQL
Bonjour,
Pourquoi créer 50 tables ?
Si il s'agit d'un historique chaque fichier doit correspondre à une date/mois/année.
Pourquoi alors, ne pas créer une seule table avec un champ date et y importer tous les fichiers ?
Moi aussi j'utiliserai R ou alors la fonction copy de postgresql.
A+
Rodolphe
Hors ligne
#5 Mon 15 October 2012 12:21
- ppluvinet
- Participant assidu
- Lieu: VALENCE
- Date d'inscription: 6 Aug 2007
- Messages: 617
Re: Automatisation d'import des fichiers text vers PostgreSQL
Je ne connais pas la base DVF, mais si la structure ne change pas alors une solution comme le propose nawak doit suffir ( avec la commande COPY)
http://www.postgresql.org/docs/9.1/static/sql-copy.html
Pascal PLUVINET
Hors ligne
#6 Mon 15 October 2012 12:53
- simo lay
- Participant assidu
- Date d'inscription: 8 Dec 2011
- Messages: 172
Re: Automatisation d'import des fichiers text vers PostgreSQL
Merci de vos réponse,
Pour ppluvinet La base demande de valeur foncière enregistre les mutations immobilières à titre onéreux publiées dans le centre des hypothèques, avec descriptif cadastral des biens, concernant la structure de la table elle change pas c'est toujours la meme structure, j'ai essayé d'utiliser la solution de nawak mais je trouve un probleme, je trouve pas le terminal ( j'utilise opengeo suite).
Hors ligne
Pages: 1
- Sujet précédent - Automatisation d'import des fichiers text vers PostgreSQL - Sujet suivant