IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Web Perl Discussion :

Compter Nbr. enregistrement dans fichiers


Sujet :

Web Perl

  1. #1
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut Compter Nbr. enregistrement dans fichiers
    Bonjour
    j'ai besoins de compter le nbr. d'enregistrement identique dans un fichier perl, en comparrant un couple de données.

    et de compter le nombre de données pour autoriser ou non l'ajout possible.

    Si le Nbr. est suppérieur, afficher un message d'erreure.

    Ici, je n'arrive pas à comprendre comment faire, j'ai regarder partout, et je bloque grave...

    exemlpe :

    aa1|000|111|222|330|444|555
    aa2|000|111|222|331|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555

    je dois verifier si [0] [4] et compter le nombre de fois ou ils sont identique.

    Si quelqu'un peut me guider sur ce que je dois faire...

  2. #2
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Citation Envoyé par Patrick-74 Voir le message
    Bonjour
    j'ai besoins de compter le nbr. d'enregistrement identique dans un fichier perl, en comparrant un couple de données.

    et de compter le nombre de données pour autoriser ou non l'ajout possible.

    Si le Nbr. est suppérieur, afficher un message d'erreure.
    Tes explications ne sont pas très claires, supérieur à quoi?


    Citation Envoyé par Patrick-74 Voir le message
    je dois verifier si [0] [4] et compter le nombre de fois ou ils sont identique.
    Voila comment compter par couple [0] [4]
    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
    #!/usr/bin/env perl
     
    use strict;
    use warnings;
     
     
     
    my @enregistrements = qw[aa1|000|111|222|330|444|555
    aa2|000|111|222|331|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555];
     
    # clé : $enregistrements[0]_$enregistrements[4]
    # valeur : nombre d'occurrences
    my %count;
     
    # analyse
    foreach my $eng (@enregistrements){
    	my ($e0, $e4) = (split (/\|/, $eng))[0,4];
    	$count{$e0.'_'.$e4} ++;
    }
     
    # affichage
    while ( my ($k, $v) = each %count){
    	print "$k\t$v\n";
    }

  3. #3
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Merci Jasmine, je regarde ce que ta reponse et j'essaie de comprendre, ce que çà fait (je cros quand meme que j'ai compris)...

  4. #4
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Jasmine80 merci, pour ton code qui ma avancé.

    J'ai une question, car en fait je voudrais vérifier dans cette liste :

    le couple [0]=aa3 et [4]=332 et afficher le nombre trouvé, j'ai cherché mais là je n'arrive pas à finaliser dans du code quelque chose qui marche

    Merci pour vos réponse.

  5. #5
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Citation Envoyé par Patrick-74 Voir le message
    J'ai une question, car en fait je voudrais vérifier dans cette liste :

    le couple [0]=aa3 et [4]=332 et afficher le nombre trouvé, j'ai cherché mais là je n'arrive pas à finaliser dans du code quelque chose qui marche

    Il suffit de faire un print $hash{cle}
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    print $count{aa3_332}." occurrences de [0]=aa3 et [4]=332\n";

  6. #6
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Merci Jasmine80 voilà le code que j'ai (grace à toi), mais j'ai toujours une erreure...
    Peux tu encore m'aider...

    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
    my @enregistrements = qw[aa1|000|111|222|330|444|555
    aa2|000|111|222|331|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555
    aa3|000|111|222|332|444|555];
     
    # clé : $enregistrements[0]_$enregistrements[4]
    # valeur : nombre d'occurrences
     
    my %count;
     
    # analyse
    foreach my $eng (@enregistrements){
    	my ($e0, $e4) = (split (/\|/, $eng))[0,4];
    	$count{$e0.'_'.$e4} ++;
    }
     
    $Ach="aa3";
    $Drdv="332";
     
    print "$count{$Ach_$Drdv}";
    Merci

  7. #7
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Dans :
    Code Patrick-74 : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $Ach="aa3";
    $Drdv="332";
     
    print "$count{$Ach_$Drdv}";

    Tu devrais utiliser le pragma strict et prendre la bonne habitude de déclarer tes variables.
    Il est inutile d'utiliser des doubles quotes dans print "$hash{cle}" ainsi que pour la valeur numérique d'une variable;
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    my $Ach = "aa3";
    my $Drdv = 332;
     
    print $count{$Ach.'_'.$Drdv};

  8. #8
    Membre averti
    Inscrit en
    Juin 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Par défaut
    Merci Jasmine c'est super çà marche.

    Peux tu me dire ou trouver des infos ou des cours sur ce genre de requettes.

    Merci
    A++

  9. #9
    Membre éprouvé
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 45
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Par défaut
    Citation Envoyé par Patrick-74 Voir le message
    Peux tu me dire ou trouver des infos ou des cours sur ce genre de requettes.
    Cela n'a rien de compliqué, c'est simplement récupérer une valeur de hash via une clé. Tu trouveras des informations de base ou avancées dans la FAQ du forum, les tutoriels de perldoc et dans des cours du net trouvés via google tel que celui de Sylvain Lhullier mais il y en a d'autres bref la documentation ne manque pas.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. enregistrement dans fichier ".sp"
    Par christophe_halgand dans le forum MATLAB
    Réponses: 3
    Dernier message: 05/11/2008, 14h27
  2. ajout espace vide(253) en fin d'enregistrement dans fichier
    Par carmella dans le forum VB 6 et antérieur
    Réponses: 5
    Dernier message: 01/06/2008, 19h34
  3. comment enregistrer dans fichier
    Par aymen14 dans le forum Langage
    Réponses: 2
    Dernier message: 10/05/2008, 22h35
  4. [z/OS] Ecriture d'enregistrement dans fichier
    Par faluma dans le forum Cobol
    Réponses: 6
    Dernier message: 02/01/2008, 16h14
  5. Réponses: 1
    Dernier message: 01/06/2006, 09h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo