Ce sujet est résolu.
12 | |||
Auteur | Messages | ||
---|---|---|---|
kwuy33 | #1 Posté le 10/6/2014 à 16:21:13 | ||
Bonjour, j'ai besoin de faire un .sh qui fait 3 petites choses - lire un fichier 1.csv compose comme ceci (nombre de champs variables et nombre de lignes variables) A;B;C;D;E 1;2;3;4;5 a;b;c;d;e - lire un deuxieme fichier 2.csv (le fichier original contient 148 champs) C;E;F;G;A;D;B - j'ai besoin d'inserer la valeur A du fichier 1.csv cad '1' dans la valeur de la colonne A du fichier 2.csv et faire ca pour chaque zone sur x lignes pour me retrouver avec un fichier 2.csv comme ceci C;E;F;G;A;D;B 3;5;;;1;4;2 c;e;;;a;d;b je pensais utiliser les tableaux sans vraiment etre sur ni surtout trop savoir comment.... Merci de vos lumieres.. | |||
Flachy Joe | #2 Posté le 10/6/2014 à 19:02:28 | ||
Iguane : Il Gambas Uniquement pour Activer ses NEurones | Salut,j'ai besoin de faire un .sh qui fait 3 petites choses Je ne crois pas que tu sois sur le bon forum... Flachy Joe | ||
Reivillo | #3 Posté le 10/6/2014 à 19:07:32 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Bonsoir kwuy33. Tes Champs, sont-ils des Mots, des Ensemble de Mots, séparés par des Points-Virgules <;> ? Pas facile, à appréhender, ton sujet... Sans trahir de secret, tu veux aboutir à quoi en fait. Déplacer le contenu d'un Champs du Fichier X, vers le contenu d'un champs du Fichier Y. C'est Ça ? Reivillo. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
Reivillo | #4 Posté le 10/6/2014 à 19:26:10 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | @ Flachy Joe, Bonsoir. Rien n'Interdit d'utiliser du BASH, dans Gambas( cela devient du Gam<bash> ). J'en utilise souvent, personnellement. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
gambix | #5 Posté le 10/6/2014 à 22:29:19 | ||
Faire simple ! | avec des tableaux oui. ton premier fichier est un index qui définit des valeur pour ABCD dim aFichier as new string[][] dim aFichier2 as new string[][] dim aLigne as string[] dim s as string for each s in split(file.load(file1.cvs), "\n") aLigne = new string[] aLigne = split(s) aFichier.add(aLigne) next aLigne = new string[] aLigne = split(split(file.load(file2.cvs), "\n")[0]) aFichier2.add(aLigne) for j = 1 to aFichier1.max aLigne = new String[] for i = 0 to afichier2[0].max iPos = aFichier1.find(aFichier2[0]) if ipos then aligne.add(afichier1[j][ipos]) else aligne.add("") endif next aFichier2.add(aligne) next for each aligne in afichier2 s &= aligne.join() & "\n" next file.save("file2.cvs",s) Le code n'est pas fonctionnel car pas testé et tu va avoir a corriger certaines chose, mais ce qui compte c'est le principe. Moins de texte dans une signature c'est agrandir son espace. | ||
kwuy33 | #6 Posté le 11/6/2014 à 07:42:01 | ||
Reivillo : en fait je veux ecrire ce traitement pour l'integrer en amont d'un job Talend et comme nos jobs s'executent tous sur un serveur linux.... gambix: merci beaucoup pour ta solution je vais l'approfondir [edit] j'ai un souci avec le file.Load..message d'erreur "objet attendu dans MMain :20
[edit2] le probleme vient effectivement de la variable string fichier....apparement file.load attend un objet puisque le dialog.path fonctionne correctement sauf que la rien n'est visuel..... | |||
Jack | #7 Posté le 11/6/2014 à 09:23:02 | ||
bonjour, après le typage des variables il faut que tu ajoutes cette ligne : afile = new string[] Pour un code démocratique nationalisons Gambas. | |||
kwuy33 | #8 Posté le 11/6/2014 à 09:42:32 | ||
en fait l'erreur se situe au niveau de l'execution de la ligne 4..... | |||
Reivillo | #9 Posté le 11/6/2014 à 10:12:00 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Tu as oublié le New, devant String[] (Création d'un Nouvel Objet !)
Ta ligne 4, est bonne. mais corrige,la ligne 1, pour que l'Objet < aFile >, soit Créé. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
kwuy33 | #10 Posté le 11/6/2014 à 10:19:30 | ||
j'avais corrige dans mon code mais j'ai toujours la meme erreur au meme endroit......j'ai tente de rajoute afile = new string[] avant la ligne et apres la ligne, meme sentence meme punition....j'arrive vraiment pas a comprendre | |||
Reivillo | #11 Posté le 11/6/2014 à 10:26:55 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » |
Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
kwuy33 | #12 Posté le 11/6/2014 à 10:29:40 | ||
desole reivillo mais c'est exacctement ce que je fait et l'erreur persiste | |||
Reivillo | #13 Posté le 11/6/2014 à 10:52:33 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | Teste le code ci-dessous. Pour l'exemple: Il liste le Fichier < FMain.class >, de l'Application en cours, dans la Console de l'IDE... (Fonctionne très bien ICI, Gambas3.5.3)
donne-nous le Détail exact. Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
kwuy33 | #14 Posté le 11/6/2014 à 11:50:34 | ||
Pas d'erreur sur ton code.....suis aussi en 3.5.3....serais-ce un probleme dans l'ecriture du chemin de fichier ??? [edit] non pas de soucis de ce cote j'ai remplace le chemin dans le code de reivillo et ca fonctionne Grrrr... j'ai regarde mon code en me disant j'ai mal ecris ou declare quelque chose et rien en tout cas merci reivillo je vais partir sur la base que tu m'as donne | |||
Reivillo | #15 Posté le 11/6/2014 à 12:44:30 | ||
C' est ici, et nul part ailleurs. « Et pis c'est tout ! » | [edit] j'ai un souci avec le file.Load..message d'erreur "objet attendu dans MMain :20Je viens de remarquer, qu'il signale l'Erreur, à la Ligne 20. Qu'as-tu, à cette Ligne 20 ? Version LinuxMint 13 (1.6.1-1+maya-mate(32-bit)) LTS Noyau 3.14.33-031433-generic (27-02-2015) LinuxMint 13 Mate Fr ICI, LinuxMint 17 Mate Fr LÀ. Programmation Gambas3 Installé depuis la Console Terminal avec successivement: Les 3 Lignes sudo en Gras ci-dessous... sudo add-apt-repository ppa:gambas-team/gambas3 sudo apt-get update sudo apt-get install gambas3 -y Gambas3.8.4-57.47 (Mise à Jour Auto via mintupdate le 28-01-2016) Pour la Doc, c'est vers là: Documentation Gambas3 FR | ||
12 |