Ce sujet est résolu.
1 | |||
Auteur | Messages | ||
---|---|---|---|
spheris | #1 Posté le 3/4/2018 à 11:27:08 | ||
Bonjour, J'ai un répertoire contenant 100 fichiers de type texte comme ceci : a1.txt a2.txt a3.txt ... a10.txt a11.txt ... a98.txt a99.txt a100.txt je dois extraire la ligne de 3 de chaque fichier et la mettre dans un seul autre fichier final.csv Voici mon bout de code :
Ce qui est curieux c'est que la boucle FOR EACH lit les fichiers en vrac et mon fichier final est comme ceci : a12.txt;toto a1.txt;tata a18.txt;bob a28.txt;boub .... pourquoi ne lit-il pas les fichiers l'un à la suite de l'autre 1,2,3...? Y-a-t-il un moyen de les avoir dans l'ordre ? Merci pour votre réponse | |||
didier18 | #2 Posté le 3/4/2018 à 22:42:22 | ||
Bonjour spheris Je vois au moins 2 solutions à ton problème... 1) soit tu fais le tri en entrée. 2) soit tu le fais avant l'enregistrement. 1) En entrée Puisque "For each" lit les fichiers en vrac et comme tu sais qu'il y a 100 fichiers, pourquoi ne pas utiliser une boucle for i = 0 to 100 (ou for i = 100 to 0 step-1 pour l'ordre inverse) de cette façon la lecture du fichier pour récupération des lignes devrait se faire selon l'ordre de i... 2) Avant l'enregistrement Quel est le critère de tri ? (a12.txt, a1.txt etc. ou toto, tata etc) Le plus simple serait peut être de mettre ces données dans un tableau ou une listbox pour l'utilisation de la propriété "sorted"... De faire le tri qui t'intéresse... Puis d'enregistrer le contenu du tableau (ou de la listbox). Il y a peut être plus simple... Bonne journée. | |||
linuxos | #3 Posté le 4/4/2018 à 02:02:44 | ||
Un peu de sel, de poivre et la crevette sera... | Bonjour spheris Peut etre avec ce petit plus: .Sort(gb.Ascent)
Olivier Lorsqu'on s'occupe d'informatique, il faut faire comme les canards... Paraître calme en surface et pédaler comme un forcené par en dessous. | ||
didier18 | #4 Posté le 4/4/2018 à 09:52:14 | ||
Bonjour Bien plus simple, effectivement, merci Olivier. Sinon j'avais aussi pensé à ça "For Each myfile In Dir(myrep).Sort(gb.Natural)" si ça peut aider... Bonne journée. | |||
spheris | #5 Posté le 8/4/2018 à 20:24:48 | ||
Extra ça marche ! Merci à vous deux pour le tuyau. | |||
1 |