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 :

Afficher un fichier sous une certaine forme


Sujet :

Langage Perl

  1. #1
    Membre du Club Avatar de philouelgeek
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 49
    Points
    49
    Par défaut Afficher un fichier sous une certaine forme
    Bonjour,

    J'ai un fichier de la forme suivante :

    PROJET => PARIS
    DATE_PROJET => 05092010
    PROJET => MARSEILLE
    DATE_PROJET => 22012010
    PROJET => LYON
    DATE_PROJET => 10032010


    Je voudrais afficher ce fichier à l'écran comme suit : (en deux colonnes PROJET et DATE)


    PROJET DATE

    PARIS 05092010
    MARSEILLE 22012010
    LYON 10032010


    ..... mais je ne vois pas trop comment faire.

    Est-ce que vous pourriez m'aider ?

    Merci d'avance
    "Faut voir grand dans la vie, quitte à voyager à travers le temps au volant d'une voiture, autant en choisir une qui ait d'la gueule !"

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Citation Envoyé par philouelgeek Voir le message
    Bonjour,

    J'ai un fichier de la forme suivante :

    PROJET => PARIS
    DATE_PROJET => 05092010
    PROJET => MARSEILLE
    DATE_PROJET => 22012010
    PROJET => LYON
    DATE_PROJET => 10032010


    Je voudrais afficher ce fichier à l'écran comme suit : (en deux colonnes PROJET et DATE)


    PROJET DATE

    PARIS 05092010
    MARSEILLE 22012010
    LYON 10032010


    ..... mais je ne vois pas trop comment faire.

    Est-ce que vous pourriez m'aider ?

    Merci d'avance
    1) tu ouvres ton fichier
    2) tu le lis ligne par ligne
    3) tu utilises des expressions régulières sur les lignes afin de récupérer tes 2 valeurs
    4) chaque fois que tu as récupéré un couple de valeurs, tu l'affiches à l'écran avant de passer au suivant

    Tu peux également utiliser une unique expression régulière afin de récupérer la partie à droite de tes flèches. Si c'est un mot, tu affiches la valeur suivie d'une tabulation et si c'est des chiffres tu passes à la ligne suivante. Ce sera encore plus simple et si toutes tes lignes sont bien ordonnées cela créera ton tableau.

    Pense à regarder dans la FAQ.
    -- Jasmine --

  3. #3
    Membre du Club Avatar de philouelgeek
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 49
    Points
    49
    Par défaut
    Merci, je regarde ça et je te tiens au jus.

    Mais étant un noob en expressions régulières je vais surement revenir pour poser des questions
    "Faut voir grand dans la vie, quitte à voyager à travers le temps au volant d'une voiture, autant en choisir une qui ait d'la gueule !"

  4. #4
    Membre du Club Avatar de philouelgeek
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 49
    Points
    49
    Par défaut
    J'ai changer le fichier d'entrée, il ressemble à ça maintenant
    PARIS
    05092010
    MARSEILLE
    22012010
    LYON
    10032010

    Voilà le petit bout de code que j'ai implé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
    open FILE, "<fic_result" or die "Le fichier n'existe pas !";
    while (my $line = <FILE> )
    {
    	if ($line =~ m/\d*/ )
    	{
    		print "$line \n";
    	}
    	else
    	{
    		print "$line \t";
    	}
    }
     
    close FILE;
    Par contre je n'arrive pas à l'afficher sous la forme :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    PARIS		05092010
    MARSEILLE	22012010
    LYON		10032010
    il me l'affiche en allant à la ligne après chaque ligne lue :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    PARIS
    		05092010
    MARSEILLE	
    		22012010
    LYON		
    		10032010
    Serais-tu ce qui ne va pas dans le code ?
    "Faut voir grand dans la vie, quitte à voyager à travers le temps au volant d'une voiture, autant en choisir une qui ait d'la gueule !"

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    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
    open FILE, "<fic_result" or die "Le fichier n'existe pas !";
    while (my $line = <FILE> )
    {
            chomp $line;
     
    	if ($line =~ m/\d*/ )
    	{
    		print "$line \n";
    	}
    	else
    	{
    		print "$line \t";
    	}
    }
     
    close FILE;
    Tu dois utiliser chomp afin d'enlever le enter en fin de ligne.
    -- Jasmine --

  6. #6
    Membre du Club Avatar de philouelgeek
    Profil pro
    Inscrit en
    Janvier 2010
    Messages
    60
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2010
    Messages : 60
    Points : 49
    Points
    49
    Par défaut
    A chaque fois j'oublie le chomp

    En tout cas merci beaucoup, ça marche
    "Faut voir grand dans la vie, quitte à voyager à travers le temps au volant d'une voiture, autant en choisir une qui ait d'la gueule !"

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

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    tant mieux

    Tu peux même intégrer le chomp à l'intérieur du else afin de diminuer le nombre d'opérations.
    -- Jasmine --

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 01/07/2014, 19h05
  2. afficher des fichiers sous forme de lien
    Par siwil dans le forum Langage
    Réponses: 28
    Dernier message: 07/09/2009, 16h40
  3. lecture d'un fichier .txt d'une certaine forme
    Par Liun971 dans le forum MATLAB
    Réponses: 8
    Dernier message: 21/07/2009, 13h49
  4. Réponses: 3
    Dernier message: 04/04/2008, 07h03
  5. [systeme]Ouverture aut. de fichiers d'une certaine extension
    Par AnKhCHFR dans le forum API standards et tierces
    Réponses: 2
    Dernier message: 23/08/2005, 17h06

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