PERL _ Recuperer valeur maxi dune colonne
Résolu/Fermé
rikki
-
16 nov. 2007 à 13:35
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 17 nov. 2007 à 11:51
lami20j Messages postés 21331 Date d'inscription jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 - 17 nov. 2007 à 11:51
A voir également:
- PERL _ Recuperer valeur maxi dune colonne
- Déplacer une colonne excel - Guide
- Recuperer message whatsapp supprimé - Guide
- Recuperer video youtube - Guide
- Formule somme excel colonne - Guide
- Trier colonne excel - Guide
9 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 nov. 2007 à 13:55
16 nov. 2007 à 13:55
Salut,
1ère partie
1ère partie
root@debian:~# cat max.pl #!/usr/bin/perl # open LIRE,"a.txt" or die "E/S : $!\n"; open ECRIRE,">sortie.txt" or die "E/S : $!\n"; $max = 0; while (<LIRE>){ /(.*)\s+(\d.*)/; $max = $2 if $2 > $max; } print ECRIRE "EUR $max\n"; __END__ root@debian:~# cat a.txt EUR 1.2315 EUR 1.2318 EUR 1.2356 root@debian:~# perl max.pl root@debian:~# cat sortie.txt EUR 1.2356 root@debian:~#
Merci bp pour ton aide lami20..
Effectivement c'est bien au dessus de mes competences.. ! hihi..
cela faisait deux jours que je galerais dessus.
^^
Je vais tester ca ce soir , sur mon pc, des que je rentre !
et pouvoir me debarasser de ce maudit excel qui met des heures a ouvrir des importations de grands fichiers..
merci :-)
si tu as une idee pour le deuxieme je suis preneur de ton aide.
eric.
Effectivement c'est bien au dessus de mes competences.. ! hihi..
cela faisait deux jours que je galerais dessus.
^^
Je vais tester ca ce soir , sur mon pc, des que je rentre !
et pouvoir me debarasser de ce maudit excel qui met des heures a ouvrir des importations de grands fichiers..
merci :-)
si tu as une idee pour le deuxieme je suis preneur de ton aide.
eric.
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 nov. 2007 à 14:10
16 nov. 2007 à 14:10
Re,
la 2ème partie
la 2ème partie
root@debian:~# cat moyenne.pl #!/usr/bin/perl # open LIRE,"b.txt" or die "E/S : $!\n"; open ECRIRE,">sortie2.txt" or die "E/S : $!\n"; while (<LIRE>){ @t = $_ =~ /(\S+)/g; shift @t; printf ECRIRE "EUR %.4f\n",(eval (join "+",@t) / scalar @t); } __END__ root@debian:~# cat b.txt EUR 1.2350 1.2310 EUR 1.2370 1.2320 root@debian:~# perl moyenne.pl root@debian:~# cat sortie2.txt EUR 1.2330 EUR 1.2345
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 nov. 2007 à 14:16
16 nov. 2007 à 14:16
et pouvoir me debarasser de ce maudit excel
Alors sache qu'il y a des modules Perl qui te permettent de travailler sur des fichier Excel et d'écrire des fichiers Excel sans avoir besoin de Microsoft.
Pour écrire
Spreadsheet::WriteExcel
Pour lire
Spreadsheet::ParseExcel
A ne pas oublié Openoffice.org
Alors sache qu'il y a des modules Perl qui te permettent de travailler sur des fichier Excel et d'écrire des fichiers Excel sans avoir besoin de Microsoft.
Pour écrire
Spreadsheet::WriteExcel
Pour lire
Spreadsheet::ParseExcel
A ne pas oublié Openoffice.org
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Merci,
Chapeau !
ca marche comme sur des roulettes, chez moi ..
je vais essayer maintenant de comprendre ton script..car j'etais vraiment parti dans une mauvaise direction..
now, je vais essayer d'ajouter quelques elements pour finaliser l'ensemble..
car en fait mon fichier a cette tete
EUR 10.23 10.13
AUD 1.32 1.12
CSZ 12.32 10.14
EUR 18.12 17.50
VOL 14.23 14.10
il faut donc que j'arrive deja a extraire les lignes par exemple toutes les EUR puis ensuite j'applique ton script (moyenne puis max)..
ca je pense y a ariver ..eventuellement , si je n'arrive pas en perl, en passant par script windows ..
cetait mon premier post sur comment ca marche ..
thx lami ..
Pour excel je te remercie pour les liens..
Pour oppenoffice , jai des fichiers excel avec tout plein de macro et d'autres part des addin propres a excel donc open office je laisse un peu de coté..Mon probleme avec excel etait surtout la limitation a 65000 lignes.
Avec le nouveau excel , ils ont fait sauter cette barrriere..
La faire sauter c'est bien ..mais il faut assurer derriere..ce qui n'est pas le cas
Car si tu importes un fichier de 200 000 lignes puis tu as des calculs sur 10 colonnes, l'importation de ce fichier prend au bas mot pres de 5 mn.. Je ne sais pas ce qu'il fait..
eric
Chapeau !
ca marche comme sur des roulettes, chez moi ..
je vais essayer maintenant de comprendre ton script..car j'etais vraiment parti dans une mauvaise direction..
now, je vais essayer d'ajouter quelques elements pour finaliser l'ensemble..
car en fait mon fichier a cette tete
EUR 10.23 10.13
AUD 1.32 1.12
CSZ 12.32 10.14
EUR 18.12 17.50
VOL 14.23 14.10
il faut donc que j'arrive deja a extraire les lignes par exemple toutes les EUR puis ensuite j'applique ton script (moyenne puis max)..
ca je pense y a ariver ..eventuellement , si je n'arrive pas en perl, en passant par script windows ..
cetait mon premier post sur comment ca marche ..
thx lami ..
Pour excel je te remercie pour les liens..
Pour oppenoffice , jai des fichiers excel avec tout plein de macro et d'autres part des addin propres a excel donc open office je laisse un peu de coté..Mon probleme avec excel etait surtout la limitation a 65000 lignes.
Avec le nouveau excel , ils ont fait sauter cette barrriere..
La faire sauter c'est bien ..mais il faut assurer derriere..ce qui n'est pas le cas
Car si tu importes un fichier de 200 000 lignes puis tu as des calculs sur 10 colonnes, l'importation de ce fichier prend au bas mot pres de 5 mn.. Je ne sais pas ce qu'il fait..
eric
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 nov. 2007 à 22:36
16 nov. 2007 à 22:36
Salut,
moyenne
moyenne
lami20j@debian:~/trash$ cat moyenne.pl #!/usr/bin/perl # open LIRE,"b.txt" or die "E/S : $!\n"; open ECRIRE,">sortie2.txt" or die "E/S : $!\n"; while (<LIRE>){ next unless /^EUR/; @t = $_ =~ /(\S+)/g; shift @t; printf ECRIRE "EUR %.4f\n",(eval (join "+",@t) / scalar @t); } __END__ lami20j@debian:~/trash$ cat b.txt EUR 10.23 10.13 AUD 1.32 1.12 CSZ 12.32 10.14 EUR 18.12 17.50 VOL 14.23 14.10 lami20j@debian:~/trash$ perl moyenne.pl lami20j@debian:~/trash$ cat sortie2.txt EUR 10.1800 EUR 17.8100
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
16 nov. 2007 à 22:41
16 nov. 2007 à 22:41
max
lami20j@debian:~/trash$ cat max.pl #!/usr/bin/perl # open LIRE,"a.txt" or die "E/S : $!\n"; open ECRIRE,">sortie.txt" or die "E/S : $!\n"; $max = 0; while (<LIRE>){ next unless /^EUR/; /(.*)\s+(\d.*)\s+\d.*/; $max = $2 if $2 > $max; } print ECRIRE "EUR $max\n"; __END__ lami20j@debian:~/trash$ cat a.txt EUR 10.23 10.13 AUD 1.32 1.12 CSZ 12.32 10.14 EUR 18.12 17.50 VOL 14.23 14.10 lami20j@debian:~/trash$ perl max.pl lami20j@debian:~/trash$ cat sortie.txt EUR 18.12
Bonjour,
Merci ..
ca marche! Moi j'etais reparti de travers sur un grep
bon week end..
tu m'as fait avancer a grand pas !
:-)
Merci ..
ca marche! Moi j'etais reparti de travers sur un grep
bon week end..
tu m'as fait avancer a grand pas !
:-)
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
17 nov. 2007 à 11:51
17 nov. 2007 à 11:51
De rien ;-)
A la prochaine ;-))
A la prochaine ;-))