Extraire des colonnes d'un fichier .txt

sekkeith Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
-
Bonjour, je suis novice dans la programmation Perl mais j'ai téléchargé des tutos et cours que je bosse. En effet je suis bloqué par un programme que je dois écrire me permettant d'extraire des colonnes d'un fichier .txt et ensuite de les mettre les unes à la suite des autres dans une seule colonne.
Merci de vouloir m'accorder un bout de votre temps.
A voir également:

5 réponses


 
Salut sekkeith,

Montre nous :

- ton jeu de données de départ
- le résultat attendu par rapport à ce jeu de données
- ce qui te pose exactement problème dans le code que tu as déjà commencé à faire

Dal
0
sekkeith Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci d'avoir répondu.
Mon jeu de données se présente :
"\t" DL LU TW MO
Csf x1 y1 z1 t1
Ind x2 y2 z2 t2
Tran x3 y3 z3 t3
other x4 y4 z4 t4

separées par des "\t"
format de sortie
Csf DL x1
Ind DL x2
Tran DL x3
other DL x4
Csf LU y1
Ind LU y2
Tran LU y3
other LU y4
Csf TW z1
Ind TW z2
Tran TW z3
other TW z4
Csf MO t1
Ind MO t2
Tran MO t3
other MO t4

Ainsi de suite c'est un bout, il y'a plus de lignes et plus de colonnes.
Merci encore.
0
sekkeith Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Merci pour ton attention
Peux tu me faire voir le code qui donne la structure que tu me presente?
Merci!
Voici ce que j'ai tenté d'ecrire et ça ne m'a rien donné
#!/usr/bin/perl -w

use strict;
use warnings;

open(FILE, "iea_ci_1990.txt") || die "Erreur E/S : $!\n";
my @contenu = <FILE>;
close(FILE);

open(FILE, ">fichier2.txt") || die "Erreur E/S : $!\n";
foreach (@contenu) {
my @datas = split(/\t/, $_);
for (my $n=1; $n==11;$n+=1){
print FILE "$datas[0] $datas[$n]\n";
}
}
close(FILE);

                
0
sekkeith Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
OK merci pour le code il marche super bien bien.Eexcuse moi j'étais en déplacement, donc pas de connexion.
Peux tu m'expliquer un peu cette séquence:
($line =~ /([^\t]+)\t(.*)/)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sekkeith Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Encore une fois merci pour l'aide. Aussi comment mettre un lien sur ce post du forum?
0