Bonsoir,
Je vous expose mon problème:
Je veux consulter deux fichiers en même temps, c'est-à-dire chercher une information sur deux fichiers simultanément, voici un exemple:
Fichier1:
16/11/08;nom1
16/11/08;nom2
16/11/08;nom3
16/11/08;nom4
16/11/08;nom5
Fichier2:
16/11/08;nom1
16/11/08;nom1
16/11/08;nom1
16/11/08;nom2
16/11/08;nom3
Je veux calculer le nombre de fois qu'une même information qui se trouve dans le fichier1 se répète dans le fichier2, avec l'exemple c'est plus clair, lol :
Voici le résultat recherché :
Output:
16/11/08;nom1;3
16/11/08;nom2;1
16/11/08;nom3;1
16/11/08;nom4;0
16/11/08;nom5;0
Ci-dessous mon code :
Le résultat n'est pas celui escompté, je crois que le problème réside dans le fait que j'ai utilisé deux fois "$_", du coup le programme ne s'est plus sur quel fichier travailler ?! Je ne vois pas comment lire des lignes de deux fichiers différents simultanément.
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 #!/usr/bin/perl { open(IN,"<Fichier1.csv"); open(IN1,"<Fichier2.csv"); open(OUT,">>Output.csv"); while(<IN>) { @ligne=split(/;/,$_); $var=$ligne[1]; $i=0; while(<IN1>) { @ligne1=split(/;/,$_); $var1=$ligne1[1]; if ($var eq $var1) { $i=$i+1; } } $output=$ligne[0].";".$ligne[1].";".$i; print OUT ("$var\n"); } close IN; close IN1; close OUT; }
Toute proposition est la bienvenue.
Salutations.







Répondre avec citation
Partager