|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 24 ![]() |
Bonjour,
J'essaye d'importer un fichier CSV dont les champs sont séparés par des ";" dans une base de donnée postgreSQL. Le probleme est que je ne vois pas trop comment réussir à saisir ligne par ligne les données de mon fichier pour ensuite injecter les données tout en respectant la Cast. Donc, mon fichier CSV comporte : ID; Nom; Jour; N°jour; Mois; Taille et je dois importer ces données dans la table qui contient les colonnes suivantes ( dans l'ordre) : ID (entier), Nom (varchar), Date (timestamp), Taille (entier). C'est un vrai casse tête et comme je débute Merci d'avance. |
|
|
00
|
|
|
#2 | ||
|
Invité de passage
![]() Inscription : avril 2008 Messages : 24 ![]() |
Pas d'idée ?
J'ai parcouru le net et je suis tombé sur une source comme ceci : Je n'y ai rien changé si ce n'est le nom du fichier et le nom de mes variables, mais apparement il calle apres le "for". Code :
|
||
|
|
00
|
|
|
#3 | ||
|
Nouveau Membre du Club
![]() Inscription : janvier 2008 Messages : 81 ![]() |
essaie ceci
Code :
|
||
|
|
00
|
|
|
#4 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 24 ![]() |
il passe bien dans la boucle, mais les variables ne sont pas remplies correctement
Si je fais un juste apres son initialisation par exemple, il m'affiche une succession de 'blanc' alterner avec une erreur 'invalid input syntax for integer' comme résultat. Bien entendu ma base reste vide ^^. Comment faire pour que la variable s'initialise correctement ? Ca m'arrive souvent quand j'utilise les variables $1 $2 $3 .... elles ont une durée de vie tres limitée -_-'. |
|
|
00
|
|
|
#5 |
|
Invité de passage
![]() Inscription : avril 2008 Messages : 24 ![]() |
non c'est bon j'ai trouvé. Probleme de syntaxe, je vais aller m'acheter des lunettes
.Merci ca marche |
|
|
00
|
|
|
#6 | ||
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 63 ![]() |
Bonjour,
Désolé de déterrer ce message, mais j'ai à peu de chose près le même problème qu'AngeDéchu. J'essaye, via KSH, de lire un fichier CSV (séprateur : ";") et d'associer chaque ligne du fichier à une ligne d'un tableau (cf. exemple ci-dessous). Fichier toto.csv : blablabla;01/01/2012 blablabli;01/01/2012 blablablu;01/01/2012 blablablo;01/01/2012 J'aimerai que ce fichier soit donc lu, ligne par ligne, et que les données soient insérées dans un tableau à 2 dimensions. Etant débutant en KSH, je me suis totalement inspiré du code d'AngeDéchu comme suit : Code :
Sauriez-vous me dire pourquoi? D'avance, merci! |
||
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Développeur informatique Inscription : octobre 2006 Messages : 182 ![]() |
Le resultats sont affectés aux variables $VAR1 et $VAR2 qui ne sont pas affichées.
Il faut enlever VAR1= et VAR2= ou rajouter leur affichage dans la boucle ( echo $VAR1 $VAR2 par exemple ) |
|
|
00
|
|
|
#8 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 077 ![]() |
|
|
|
00
|
|
|
#9 | ||
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 63 ![]() |
Bonjour Jean.Cri1,
Merci d'avoir pris le temps de me répondre. Comme tu le vois, je suis loin d'être un expert (mon erreur était pourtant évidente). Pour information, j'ai également trouvé la méthode suivante (et qui fonctionne parfaitement). Code :
|
||
|
|
00
|
|
|
#10 | ||
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 63 ![]() |
Bonjour N_BaH,
Effectivement j'étais déjà tombé sur votre message, mais d'autres recherches me poussaient vers le AWK, et donc je ne suis pas revenu aux bases! Merci tout de même, je pense utiliser : Code :
read: 0403-010 Option non valide pour cette commande. Il apparaît que le -a n'est pas le bienvenu (je ne suis pas en KSH, mais SH).Dois-je finalement m’atteler au AWK? Cordialement! |
||
|
|
00
|
|
|
#11 |
|
Expert Confirmé Sénior
![]() Inscription : février 2008 Messages : 2 077 ![]() |
SH ne peut pas utiliser les tableaux.
pourquoi penses-tu avoir besoin d'un tableau ? |
|
|
00
|
|
|
#12 |
|
Futur Membre du Club
![]() Inscription : mai 2007 Messages : 63 ![]() |
Et bien je pensais stocker les lignes de mon fichier CSV dans un tableau, puis boucler sur les lignes de ce denier afin d'effectuer quelques opérations.
En écrivant celà je me rentre compte que je peux effectuer ces opérations directement dans mon while...mais je suis habitué à stocker mes sources avant de les exploiter, d'où mon erreur. Merci en tout cas pour ton attention. Cordialement. |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com