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

Langage Perl Discussion :

help script perl comparaison de deux fichiers


Sujet :

Langage Perl

  1. #1
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut help script perl comparaison de deux fichiers
    Bonjour je dois faire un script pour comparer deux fichier et je ne sais pas vraiment comment mi prendre..

    fic1 du style

    test robert anna jaques cyril
    sb001 aa bb cc aa
    sb002 aa cc bb uu
    sb003 aa uu cc bb

    fic 2 du style

    test anais roberta jaques nicolas
    sb002 aa cc -- uu
    sb008 aa cc bb uu
    sb009 aa cc bb uu

    pour le -- c'est une donnée manquante

    en faite je dois comparer les deux fichiers

    en gros il doit ressortir un fichier3

    comme celui la

    test robert anna jaques cyril anais roberta nicolas
    sb001 aa bb cc aa -- -- --
    sb002 aa cc bb uu aa cc -- uu
    sb003 aa uu cc bb -- -- --
    sb008 -- -- bb -- aa cc uu
    sb009 -- --bb -- aa cc uu

    pour resumer le fichier 3
    on fusionne les données redondante exemple pour jaques qui est dans les deux fichiers
    et on fusionne les données pour les test redondant comme sb002 dans l'exemple

    merci si vous avez des pistes pour m'aider je rames...

  2. #2
    Membre expérimenté
    Avatar de magicshark
    Homme Profil pro
    Dans une SS2I donc pas que JAVA
    Inscrit en
    Octobre 2011
    Messages
    133
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Dans une SS2I donc pas que JAVA
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Octobre 2011
    Messages : 133
    Par défaut
    Voilà un début de piste
    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/perl -w
    use strict;
     
    #Les trois fichiers
    my $fic1 = "monfic1.extension";
    my $fic2 = "monfic2.extension";
    my $fic3 = "monfic3.extension";
     
    #Pour la lecture des lignes
    my $lign1;
    my $ligne2;
     
    #Pour la lecture du contenu des lignes
    my @contenu1;
    my @contenu2;
     
    #Pour l'ouverture des lignes
    open(FIC1,$fic1);
    open(FIC2,$fic2);
    open(FIC3,>$fic3)
     
    #Tant qu'il y a des lignes dans les fichiers
    while( defined( $ligne1 = <FIC1> && defined( $ligne2 = <FIC2> ))
    {
        @contenu1 = split(/\s/,ligne1);
        @contenu2 = split(/\s/,ligne2);
    }

  3. #3
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut re
    jusqu'a la y avais pas de probleme merci pour la syntaxe c'est pour la comparaison je sais pas comment mi prendre pour ensuite le coller d'un un fichier fic3..
    comparaison des lignes et des colonnes..

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Une autre approche qui permet de s'affranchir du fait (comme dans l'exemple), que chaque fichier doive posséder les mêmes lignes dans le même ordre pour être comparées une à une : cette approche rempli un tableau au fur et à mesure de la lecture du premier fichier, et stocke dans le même temps les clés (colonne 1) dans une table de hashage.
    Lors de la lecture du deuxième fichier (et des suivants si nécessaire), il complète le premier tableau avec des nouvelles lignes (si la clé n'existe pas), ou en ajoutant les nouvelles colonnes aux lignes déjà présentes.

    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    use strict;
    use warnings;
    use feature qw(:5.10);
     
    sub load_table {
      my ($result_tabref, $result_keyref, $file) = @_;
     
      open my $TABLE, "<", $file or die "Can't open $file: $!";
      chomp(my $line = <$TABLE>);
      my ($test_key, @col_names) = split /\s+/, $line;
      if (!@$result_tabref) {
        # create the first row
        push @$result_tabref, [ $test_key, @col_names ];
      }
      else {
        # complete the first row
        push @{$result_tabref->[0]}, @col_names;
      }
     
      my $col_number = @{$result_tabref->[0]};
      while (defined($line = <$TABLE>)) {
        chomp $line;
        my ($test_key, @col_names) = split /\s+/, $line;
        if (exists $result_keyref->{$test_key}) {
          # complete an existing row
          my $row_index = $result_keyref->{$test_key};
          push @{$result_tabref->[$row_index]}, @col_names;
        }
        else {
          # create a list of missing column values (from the column number of the first row)
          my @missing_col = map "--", 1 .. ($col_number - 1 - @col_names);
          push @$result_tabref, [ $test_key, @missing_col, @col_names ];
          $result_keyref->{$test_key} = $#$result_tabref;
        }
      }
      # treat incomplete rows
      foreach my $row (grep @$_ != $col_number, @$result_tabref) {
        push @$row, map "--", 1 .. ($col_number - @$row);
      }
    }
     
    sub print_table {
      my ($tabref, $file) = @_;
     
      open my $OUT, ">", $file or die "Can't open $file: $!";
      say { $OUT } join " ", @$_ foreach @$tabref;
    }
     
    my (@table, %test_keys);
    load_table(\@table, \%test_keys, "fic1.txt");
    load_table(\@table, \%test_keys, "fic2.txt");
    print_table(\@table, "fic3.txt");

  5. #5
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    merci philou ca m'aide bcp de voir toute la syntaxe ca na pas supprimé les doublon sur la première ligne mais je vais essayer de comprendre pourquoi merci pour vos réponses

  6. #6
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Je n'avais pas vu qu'il y avait des colonnes redondantes... Il faudrait alors que tu spécifies comment dois se comporter le merge d'une colonne commune quand :
    - la valeur est absente des deux fichiers
    - l'une des deux valeurs est présente seulement
    - et surtout quand deux valeurs sont présentes (identiques ou différentes).

    Ca va compliquer un peu le traitement : au lieu d'utiliser une simple table de valeurs de colonnes par ligne, je verrais bien l'usage d'un hashage qui associe le nom de la colonne et sa valeur. D'un autre coté, ça simplifiera aussi le traitement des lignes absentes.

  7. #7
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    quand la valeur est absente on laisse la donnée avec --
    si l'un a la donnée et pas l'autre dans m3 on doit retrouver la donnée


    et voila ma question dans mon exemple
    quand une donnée est hétérozygote donc AB dans le fic 1
    et que dans le fichier 2 la donnée est homozygote c'est toujours l'homozygote qui doit etre dans m3

    comment faire dans le script?

  8. #8
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Citation Envoyé par nosuperman Voir le message
    quand la valeur est absente on laisse la donnée avec --
    si l'un a la donnée et pas l'autre dans m3 on doit retrouver la donnée
    Jusque là, je comprends, c'est de l'informatique.
    et voila ma question dans mon exemple
    quand une donnée est hétérozygote donc AB dans le fic 1
    et que dans le fichier 2 la donnée est homozygote c'est toujours l'homozygote qui doit etre dans m3

    comment faire dans le script?
    A partir de là, tu parles un autre langage : tu dois traduire et donner des règles de logique, et pas des règles de biologie... sans quoi, impossible de programmer (perl ne dispose pas naturellement d'un comparateur de zygotes ).

  9. #9
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    pour resumer

    fic1 jacques AA fic2 jacques AB ===> fic3 jacques AA

    les symboles identiques l'emporte sur les non identiques
    homo hetero

  10. #10
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Ca ne couvre pas tous les cas : AA et BB, AB et AC, ...
    Ne connaissant pas toutes les possibilités, impossible pour moi de le traduire en logique.

  11. #11
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Le script commence à être complexe. En voici une version incomplète (cas des merges non spécifiés non pris en compte : le bloc contenant le commentaire # select the dominant est vide) :
    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
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    use strict;
    use warnings;
    use feature qw(:5.10);
     
    use List::MoreUtils qw(each_array);
     
    sub merge_col {
      my ($col_name, $col_value, $columns) = @_;
     
      if (!exists $columns->{$col_name}) {
        # add a new column
        $columns->{$col_name} = $col_value;
      }
      else {
        my $existing_col = $columns->{$col_name};
     
        if ($existing_col eq "--") {
          # select current col (old was undetermined)
          $columns->{$col_name} = $col_value;
        }
        elsif ($col_value ne "--") {
          # select the dominant
        }
      }
    }
     
    sub load_table {
      my ($result_tabref, $result_keyref, $file) = @_;
     
      open my $TABLE, "<", $file or die "Can't open $file: $!";
      chomp(my $line = <$TABLE>);
      my ($test_key, @col_names) = split /\s+/, $line;
      if (!@$result_tabref) {
        # create the first row containing a test key and a hash of column names
        my $column_number = 1;
        push @$result_tabref, [ $test_key, { map { $_ => $column_number++ } @col_names } ];
      }
      else {
        # complete the first row
        my $columns = $result_tabref->[0]->[1];
        my $column_number = 1 + keys %$columns;
        $columns->{$_} = $column_number++ foreach grep !exists $columns->{$_}, @col_names;
      }
     
      #my $col_number = keys %{$result_tabref->[0]->[1]};
      while (defined($line = <$TABLE>)) {
        chomp $line;
        my ($test_key, @col_values) = split /\s+/, $line;
        if (exists $result_keyref->{$test_key}) {
          # complete an existing row
          my $columns = $result_tabref->[$result_keyref->{$test_key}]->[1];
          my $col_index = 0;
          foreach my $col_value (@col_values) {
            merge_col($col_names[$col_index++], $col_value, $columns);
          }
        }
        else {
          # create a list of missing column values (from the column number of the first row)
          my $col_index = 0;
          push @$result_tabref, [ $test_key, { map { $col_names[$col_index++] => $_ } @col_values } ];
          $result_keyref->{$test_key} = $#$result_tabref;
        }
      }
    }
     
    sub print_table {
      my ($tabref, $file) = @_;
     
      open my $OUT, ">", $file or die "Can't open $file: $!";
     
      # First row contains column names and positions ($other_cols is a hash)
      my ($first_col, $col_names) = @{shift @$tabref};
      my @col_names = sort { $col_names->{$a} cmp $col_names->{$b} } keys %$col_names;
      say { $OUT } join " ", $first_col, @col_names;
     
      foreach my $row (@$tabref) {
        # First row contains column names and positions ($col_values is a hash)
        my ($test_key, $col_values) = @$row;
        say { $OUT } join " ", $test_key, map $col_values->{$_} // "--", @col_names;
      }
    }
     
    my (@table, %test_keys);
    load_table(\@table, \%test_keys, "fic1.txt");
    load_table(\@table, \%test_keys, "fic2.txt");
    print_table(\@table, "fic3.txt");

  12. #12
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    c'est pour ca je me pose la question
    est ce qu'on peut dans un script dire

    si les deux caracteres donc AA sont les memes et que dans le fichiers 2 les caracteres sont differents AB on privilège les caracteres egaux AA

    c'est pas possibles?

  13. #13
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    me reste plus qu'a lancer le script demain pour une base de 80 000 lignes et regarder le resultat merci philou vraiment je vous tiens au courant

  14. #14
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Citation Envoyé par nosuperman Voir le message
    c'est pour ca je me pose la question
    est ce qu'on peut dans un script dire

    si les deux caracteres donc AA sont les memes et que dans le fichiers 2 les caracteres sont differents AB on privilège les caracteres egaux AA

    c'est pas possibles?
    Bien sur que c'est possible, mais ça ne résous que les cas où l'on a deux catégories distinctes (hétéro + homo). Si l'on a deux hétéro et deux homo, on ne sait toujours pas lequel choisir.

    Une solution pour privilégier les homo sur les hétéro est de trier sur le nombre de caractères différents (tri inverse) : ainsi, seront en premier ceux qui possèdent le moins de caractères différents.

    Traduit en perl :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my %cur_char = map { $_ => 1 } split //, $existing_col;
    my %new_char = map { $_ => 1 } split //, $col_value;
    my $char_cmp = keys %cur_char <=> keys %new_char;
    $columns->{$col_name} = $char_cmp < 0 ? $existing_col : $char_cmp > 0 ? $col_value : "$existing_col or $col_value";
    Cette partie de code est à insérer après le commentaire
    # select the dominant

    Mais elle ne traite pas le cas où les deux éléments à merger sont hétéro (ab et ab par exemple).

  15. #15
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    salut philou j'ai lancé le script sur toute la base donnée
    il s'avère qu'il y a des erreurs

    quand deux resultat son homo

    AA dans le fic 1 et BB dans le fic deux
    il faut regarder dans toute la lignée sb qu'elle est la valeur la plus proche de toute la ligne

    exemple

    fic 1

    test cyril philou anais robert
    sb001 aa bb aa aa
    sb002 bb cc bb bb

    fic 2

    test cyril philou anais robert
    sb001 aa aa aa aa
    sb002 bb cc bb bb

    fic final
    test cyril philou anais robert
    sb001 aa aa aa aa
    sb002 bb cc bb bb

    trop compliqué lol

    et quand deux données son hetero donc
    fic 1 AB
    fic 2 AB
    il faut mettre XX dans le fichier final
    lol...

  16. #16
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Citation Envoyé par nosuperman Voir le message
    il faut regarder dans toute la lignée sb qu'elle est la valeur la plus proche de toute la ligne
    Incompréhensible pour moi
    Je savais bien que la spécification n'était pas complète.

    Autre exemple

    fic 1

    test cyril philou anais robert
    sb001 aa bb aa aa
    sb002 bb cc bb bb

    fic 2

    test cyril philou anais robert
    sb001 aa aa aa aa
    sb002 bb aa bb bb

    fic final
    test cyril philou anais robert
    sb001 aa aa aa aa
    sb002 bb ?? bb bb
    trop compliqué lol
    Ca semble compliqué de prime abord effectivement. Celà dit, il est possible de faire un prétraitement informatique, qui sera complété manuellement pas la suite : par exemple, au lieu de faire le choix, on affiche les deux valeurs (séparées par + par exemple). Il suffit alors à l'utilisateur de parcourir le fichier à la recherche de + pour faire le choix manuellement.
    et quand deux données son hetero donc
    fic 1 AB
    fic 2 AB
    il faut mettre XX dans le fichier final
    lol...
    Ca, ça devrait être facilement faisable.

  17. #17
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    j'ai eu une reunion j'ai eu vraiment le cas un par un j'etais perdu moi aussi lol


    Pour lignée identique (philou cyril...) et SNP identique (sb002) : fusion des données en suivant les règles ci-dessous :

    si info cyril identique Fic1 et Fic 2 on touche rien on met dans m3 en fussionant

    si donnée manquante dans Fic 1 et non dans fic 2 on recoit fic2 dans fic3
    pareil pour le cas contraire donc ca c'est bon

    homo gagne sur hetero
    AA fic1 et AB fic2 c'est AA qui gagne dans M3
    hetero /hetero => XX dans M3

    et si homo/homo mais different mettre XX dans M3 aussi


    voila ben il est fini a 80 % il manque juste deux etapes...

  18. #18
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Dans ce cas, change la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $columns->{$col_name} = $char_cmp < 0 ? $existing_col : $char_cmp > 0 ? $col_value : "$existing_col or $col_value";
    en
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $columns->{$col_name} = $char_cmp < 0 ? $existing_col : $char_cmp > 0 ? $col_value : "XX";
    C'est quoi les 20% de cas restant ?

  19. #19
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    merci philou je test tous le programme pour voir

  20. #20
    Membre averti
    Homme Profil pro
    Inscrit en
    Mars 2012
    Messages
    25
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Mars 2012
    Messages : 25
    Par défaut
    je me suis fais des petits fichiers de test et y a des erreurs...
    dsl jsp que je te derange pas trop philou
    j'ai pri tous les cas pour l'exemple

    Fic1
    SNP CYRIL CLOTILDE PHILOU JACQUES
    BS001 AA AA BB AA
    BS002 -- -- -- AA
    BS003 AB AB AB AB
    BS004 AA AA AA AA
    BS006 AA AA AA AA

    Fic2
    SNP CYRIL CLOTILDE NICOLAS JACQUES
    BS001 AA BB UU AA
    BS002 AA --AA AA
    BS003 AA AA AA AA
    BS004 AB AB AB AB
    BS010 BB BB BB BB

    qui me donne Fic3
    SNP CYRIL CLOTILDE PHILOU JACQUES NICOLAS
    BS001 -- -- BB -- UU
    BS002 AA --AA -- AA AA
    BS003 AA AA AB AA AA
    BS004 AA AA AA AA AB
    BS006 AA AA AA AA --
    BS010 BB BB -- BB BB

    correction
    SNP CYRIL CLOTILDE PHILOU JACQUES NICOLAS
    BS001 AA -- BB AA UU
    BS002 AA --AA -- AA AA
    BS003 AA AA AB AA AA
    BS004 AA AA AA AA AB
    BS006 AA AA AA AA --
    BS010 BB BB -- BB BB


    pour cyril je devrais avoir AA pour BSOO1 vu que
    Homo AA fic1 et donnée manquante Fic2

    pour jaques BS001 je devrais avoir AA vu que
    HOMO AA fic1 et HOMO fic2

    pourtant pour BS002 pour jacques HOMO/HOMO ca marche...

    juste deux petit probleme
    QUAND AA fic1 et donnée manquante fic2 ca donne AA

    et pour jacques je comprend pas

Discussions similaires

  1. comparaison de deux fichiers textes avec un script python
    Par zekruss dans le forum Général Python
    Réponses: 1
    Dernier message: 10/11/2009, 05h52
  2. comparaison de deux fichiers
    Par john123 dans le forum API standards et tierces
    Réponses: 5
    Dernier message: 17/03/2007, 16h38
  3. Comparaison de deux fichiers EXCEL
    Par meufeu dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 18/10/2006, 22h56
  4. comparaison de deux fichiers textes
    Par chmaichel dans le forum Delphi
    Réponses: 1
    Dernier message: 28/07/2006, 11h35
  5. [langage] Comparaison de deux fichiers
    Par perlgirl dans le forum Langage
    Réponses: 4
    Dernier message: 04/05/2005, 16h05

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