Bonjour a tous ,
J'aimerais sollicitter votre aide pour recuperer des informations dans un fichier
Je recois des fichiers par jour contenant les informations suivante :
lundi 20 15:30
24765+33
7352.373
7758638.237
lundi 20 15:45
218388
565345
7845450.2
lundi 20 16:00
153783
18738.2
268673
lundi 20 16:15
547828
15337939
12933947
lundi 20 16:30
17888.2723
445345.678
ou
mardi 20 15:30
7352.373
7758638.237
mardi 20 15:45
218388
7845450.2
mardi 20 16:00
153783
268673
mardi 20 16:15
547828
12933947
mardi 20 16:30
445345.678
je voudrais pouvoir recuperer ces informations et les retranscrire sous cette forme
lundi 20 15:30,24765+33,7352.373,7758638.237
lundi 20 15:45,218388,565345,7845450.2
lundi 20 16:00,153783,18738.2,268673
lundi 20 16:15,547828,15337939,12933947
lundi 20 16:30,17888.2723,445345.678
En utilisant le language perl, j'ai commence ainsi utilisant une table de hash.
Mais lorsque je veux recuperer les chiffres je bloque.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36 #!/usr/bin/perl # use strict; use warnings; my ($mot,$chif); my %mots = (); my %chif = (); $i=0; open F1,"$tt/x.txt" or die "E/S: $!n"; while (<F1>){ # Maintenant on a la ligne courante dans $_ (variable magique) # On enleve le retour chariot de fin de ligne chomp; # Si la ligne ($_) commence par tout sauf un 'mot' plusieurs fois (stockage dans $1) # puis suivit de n'importe quoi (.*) if ($_=~/^(D+.*)/){ $var=''; $mot=$1; chomp($mot); $mots{$i}=$mot; $i++; } if ($_=~ /^(d+.*)/) { ICI JE BLOQUE } } foreach (sort %mot){ #if (defined($mot{$_})){ print $mot{$_}."."n"; #} } close(F1);
Partager