|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Nouveau Membre du Club
![]() Inscription : août 2003 Messages : 52 ![]() |
Bonjour à tous,
Je suis à la recherche d'une procédure d'importation de données dans une base postgresql. J'ai à ma disposition un fichier .txt qui resemble à : 00001948191032ADRENAL CORTICOSTEROIDS 00001948191268TOPICAL STEROIDS .......................... .......................... J'ai comme information que ces données vont dans 3 champs de la table 1er_champ NOT NULL num (10) 2eme_champ NULL char(10) 3eme_champ NULL char(52) Mais le problème est que mon fichier n'a pas de délimiteur (genre ; | ) et il y a une grosse quantitié de données. En fait je pense qu'il faudrait que mon fichier ressemble à : 0000194819 ; 1032 ; ADRENAL CORTICOSTEROIDS 0000194819 ; 1268 ; TOPICAL STEROIDS J'ai essayé la fonction COPY (table) FROM (fichier.txt) mais ça me répond que la value est trop longue pour le type num(10). Comment faire à votre avis ? [/quote][/i] |
|
|
00
|
|
|
#2 |
|
Membre confirmé
![]() Inscription : octobre 2003 Messages : 266 ![]() |
Pour ma part, je te propose de reformater ton fichier avec un séparateur.
Pour cela, on utilise gawk. Si tu es sous linux, il est installé par défaut. Si tu es sous Windows, je t'invite à le télécharger ici Gawk Win32 3.11 binaries avec la ligne de commande suivante : Code :
gawk '{ print substr($0,1,10) ";" substr($1,11,4) ";" substr($0,15); }' datasource.txt > resultat.txt Pour le reste, cela ne devrais pas poser de problème avec la commande COPY. |
|
|
00
|
|
|
#3 |
|
Nouveau Membre du Club
![]() Inscription : août 2003 Messages : 52 ![]() |
Merci pour ton aide Krapulax.
C'est cool, ça fonctionne. A bientôt |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com