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 :

Extraire données d'un tableau vers un fichier


Sujet :

Langage Perl

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut Extraire données d'un tableau vers un fichier
    Bonjour à tous,

    Je souhaite envoyer les informations qui se trouvent dans mon tableau vers un autre type de fichier. Est-ce possible ?
    Sachant que le tableau a été alimenté par fichier txt.
    Je souhaite que le résultat de mon tableau soit rediriger vers un autre fichier et qu'ils n'apparaissent pas dans un cmd.

    Voici mon code
    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
     
    my @tab = ();
    #my @tab1 = ();
     
    my $file ="C:/Users/baranowp/Documents/2016_01_28_29/param_facture.txt";
    open(my $fic,$file) or die "$file: $!" ;
    my $param_facture = "param_facture.ini";
    open my $PARAM, ">>", "$param_facture" or die "Ouverture impossible de $param_ $!"; 
     
    ## parcours les lignes du tableau 
    print " facture : \n";
    foreach my $line(<$fic>) {
        chomp($line);
        print $line."\n";
     
    ## renvoi la position des valeurs qui  m'interesse   
        @tab =split(";", $line);
        print $tab [1]."\n";
        print $tab [3]."\n";
        print $tab [5]."\n";
        print $tab [7]."\n";
        print "\n";
        print $PARAM "\n";
    }
    close($fic);
    Cordialement

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Bonjour,

    je suis désolé, mais je ne vois pas trop le lien entre la question que tu poses et le code que tu postes.

    Si tu as des données dans un tableau et veux les stocker dans un fichier (c'est ce que j'ai compris), c'est très facile à faire. Montre un exemple de ton tableau et un exemple du format que tu désires obtenir dans ton fichier.

    En supposant que tes données sont dans le tableau @array, ce peut être aussi simple que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    open my $OUT, ">", "outfile.txt" or die "Ouverture impossible de outfile.txt $!";
    print $OUT "@array \n";
    close $OUT;
    Ou, si tu veux aller à la ligne entre chaque élément du tableau:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    open my $OUT, ">", "outfile.txt" or die "Ouverture impossible de outfile.txt $!";
    print $OUT "$_ \n" for @array;
    close $OUT;

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Bonjour,

    Voici le contenu de mon tableau :
    LGM
    n°15428
    TGPLUS
    7895123

    Bidule
    n°25846
    ARL
    1862986

    LP
    n°15427
    ARI
    7458123

    Core
    n°28446
    SIO
    1875168

    Lorsque je fais :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!";
    print $PARAM "@tab \n";
    close ($PARAM);
    Il me renvoi les valeurs du tableau ainsi que les autres informations ne figurant pas dans le tableau

  4. #4
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Quelles autres informations? Je ne vois pas comment ce bout de code pourrait mettre des choses qui ne sont pas dans le tableau. Peux-tu montrer ton fichier de sortie?

  5. #5
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    Le fichier d'entré est le suivant param_facture.txt:
    2;LGM;3;n°15428 ;11;TGPLUS;22;7895123
    2;Bidule;3;n°25846 ;11;ARL;22;1862986
    2;LP;3;n°15427 ;11;ARI;22;7458123
    2;Core;3;n°28446 ;11;SIO;22;1875168
    2;SIO;3;n°15768;11;Dupont;22;1475826

    Le fichier de sortit est le suivant param_facture.ini:
    2 LGM 3 n°15428 11 TGPLUS 22 7895123
    2 Bidule 3 n°25846 11 ARL 22 1862986
    2 LP 3 n°15427 11 ARI 22 7458123
    2 Core 3 n°28446 11 SIO 22 1875168
    2 SIO 3 n°15768 11 Dupont 22 1475826

  6. #6
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Oui, je ne vois pas d'éléments nouveaux , ou n'existant pas dans les données d'origine. Mais, surtout, tu veux quoi en sortie?

  7. #7
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    En sortit je veux ça :
    Bidule n°25846 ARL 1862986
    LP n°15427 ARI 7458123
    Core n°28446 SIO 1875168
    SIO n°15768 Dupont 1475826

  8. #8
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Peut-être cet unilignbe:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    perl -ne 'print join " ",  (split /;/)[1,3,5,7];' nom_fic_in.txt
    Exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    $ echo '2;Bidule;3;n°25846 ;11;ARL;22;1862986
    > 2;LP;3;n°15427 ;11;ARI;22;7458123
    > 2;Core;3;n°28446 ;11;SIO;22;1875168
    > 2;SIO;3;n°15768;11;Dupont;22;1475826
    > ' |  perl -ne 'print join " ",  (split /;/)[1,3,5,7];'
    Bidule n°25846  ARL 1862986
    LP n°15427  ARI 7458123
    Core n°28446  SIO 1875168
    SIO n°15768 Dupont 1475826

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    On ne peut pas faire de redirection en perl en envoyant les valeurs du tableau directement dans un fichier ?
    Ou faire une sorte de copie du tableau vers un nouveau fichier ?

  10. #10
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2015
    Messages
    183
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Novembre 2015
    Messages : 183
    Points : 32
    Points
    32
    Par défaut
    J'ai trouvé une solution pour envoyer les données de mon tableau dans un fichier
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    my $param_facture = "C:/Users/baranowp/Documents/2016_01_28_29/param_facture.ini";
    open my $PARAM, ">", "$param_facture" or die "Ouverture impossible de $param_facture $!"; 
    print $PARAM "$tab[1] $tab[3] $tab[5] $tab[7]\n";
    close ($PARAM);
    J'obtiens le fichier de sortit que je voulais :
    LGM n°15428 TGPLUS 7895123
    Bidule n°25846 ARL 1862986
    LP n°15427 ARI 7458123
    Core n°28446 SIO 1875168
    SIO n°15768 Dupont 1475826

  11. #11
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Points : 12 256
    Points
    12 256
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par solerian Voir le message
    On ne peut pas faire de redirection en perl en envoyant les valeurs du tableau directement dans un fichier ?
    Ou faire une sorte de copie du tableau vers un nouveau fichier ?
    Si, c'est même très simple, et c'est je que je t'ai expliqué dans mon post # 2.

    Le problème est que tu n'expliques pas vraiment clairement ce que tu veux, du coup j'essaie de deviner à partir de tes bribes d'information.

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 20/03/2014, 10h34
  2. [XL-2010] extraire des données d'un tableau vers différents onglets selon la valeur d'une cellule
    Par piloupilou82 dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 17/11/2013, 17h38
  3. Réponses: 0
    Dernier message: 09/11/2010, 17h42
  4. extraire données d'un tableau dans un fichier texte
    Par cre31400 dans le forum MATLAB
    Réponses: 4
    Dernier message: 29/07/2009, 15h51
  5. Réponses: 9
    Dernier message: 28/05/2008, 15h29

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