Précédent   Forum des professionnels en informatique > Bases de données > PostgreSQL
PostgreSQL Forum PostgreSQL. Avant de poster -> F.A.Q PostGreSQL Tutoriels PostGreSQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 09/10/2003, 21h42   #1
Nouveau Membre du Club
 
Inscription : août 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 52
Points : 37
Points : 37
Par défaut [Résolu]Importation de données postgresql

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]
ythierrin est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2003, 10h36   #2
Membre confirmé
 
Inscription : octobre 2003
Messages : 266
Détails du profil
Informations forums :
Inscription : octobre 2003
Messages : 266
Points : 287
Points : 287
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
tu obtiendras un zoli fichier resultat.txt sous la forme : 0000194819;1268; TOPICAL STEROIDS.

Pour le reste, cela ne devrais pas poser de problème avec la commande COPY.
Krapulax est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 10/10/2003, 22h18   #3
Nouveau Membre du Club
 
Inscription : août 2003
Messages : 52
Détails du profil
Informations forums :
Inscription : août 2003
Messages : 52
Points : 37
Points : 37
Merci pour ton aide Krapulax.

C'est cool, ça fonctionne.

A bientôt
ythierrin est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h20.


 
 
 
 
Partenaires

Hébergement Web