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

Python Discussion :

Expression reguliere dans fichier texte


Sujet :

Python

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 13
    Points
    13
    Par défaut Expression reguliere dans fichier texte
    Après des recherche sur les expression reguliere je suis coincé

    J'ai un fichier texte de la forme

    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
                                                                                                                                         Miactividad
                                                                                                                                                   :              D Satud nimal
                                                                                                                                                                              a
        s5002704
                                                                                                                                                                  [] Naves
        S E N O RP E D R A S A S I L V AM A N U E L
                            D                                                                                                                                     J E q u i p a m i e n tM s t e r i a td eg a n a d e r i a
                                                                                                                                                                                         / oa              es
        TRASCO                                                                                                                                                    fl GeneticanimaI
        POR T UG A L                                                                                                                                              C I n d u s t r i ar a n s f o r m a d o r a
                                                                                                                                                                                    t
        R UA DA A LDE I A E L H A3 6 8
                           V                                                                                                                                      D A s o c i a c i 6 r a z a/ g a n a d e r o
                                                                                                                                                                                        n
                                                                                                                                                                  t l A d m i n i s t r a c i ô nI n t e r p r o f e s i ô n
        2870267MONTTJO
    Je vous avous que c'est un peu du n'importe quoi lol mais moi j'ai besoin d'extraire une donnée
    Seulement de cette chaine de caratere je ne connais que la premiere lettre s et je sais quelle est composé de 8 caracteres et quelles finit toujours par des chiffre!

    Quelle fonction me permettrais de chercher dans un fichier texte un chaine de caracteres commencent par s, étant composé de 8 caractères et finissant par un chiffre ?

  2. #2
    Membre éprouvé

    Profil pro
    Inscrit en
    Août 2004
    Messages
    723
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 723
    Points : 923
    Points
    923
    Par défaut
    Si on change un peu ta phrase, tu recherches la lettre s suivie de 6 caractères et d'un chiffre c'est bien ça? (pense à mettre en singleline si nécessaire)
    Le reste n'est pas difficile, tu lis ton fichier texte et tu appliques la regex à ce que tu lis

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    Merci sa marche imperc!!

    C'est juste ce qu'il me manquait thx

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    juste pour ceux qui cherche la meme chose je poste 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
    import re
     
    #ouverture du fichier pour calculer le nombre de ligne
    fichier=open('fichier.txt','r')
    ligne=0
    #calcul du nombre de ligne dans le fichier
    for line in fichier:
        ligne=ligne+1
    #fermeture du fichier
    fichier.close()
    #reouverture du ficier pour la recherche
    fichier=open('fichier.txt','r')
    nbre=0
    #une boucle correspondant au nombre de ligne
    while nbre<ligne:
        nbre=nbre+1
        #on selectionne le ligne
        mot=fichier.readline()
        # on effectue la reche dans la ligne
        code= re.findall('s.{6}\d',mot)
        #pour chaque mot trouver on l'ecrit
        for codes in code:
            print codes

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    A quoi sert le premier fichier "fichier.txt" ? C'est pas le meme que "npai.txt" ?
    Car si c'est le meme, pas besoin de compter le nombre de lignes.
    Ca donnerait par example ca:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    import re
     
    #reouverture du ficier pour la recherche
    fichier=open('npai.txt','r')
     
     
    # on effectue la reche dans le fichier
    codes= re.findall('s.{6}\d',fichier.read())
     
    # on ecrit seulement si on en trouve
    if codes:
        print '\n'.join(codes)

  6. #6
    Membre à l'essai
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    19
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 19
    Points : 13
    Points
    13
    Par défaut
    oui désolé j'me suis tromper les deux fichiers se nomme fichier.txt!

    Le premier sert a compter le nombre de ligne ( j'avoue y'a plus rapide mais bon )

  7. #7
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 9
    Points : 10
    Points
    10
    Par défaut
    ok dans ce cas la, compter les lignes ne te sert a rien ... il suffit de faire directement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    fichier=open('fichier.txt','r')
     
    #une boucle correspondant au nombre de ligne
    for mot in fichier:
        # on effectue la reche dans la ligne
        code= re.findall('s.{6}\d',mot)
        #pour chaque mot trouver on l'ecrit
        for codes in code:
            print codes

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

Discussions similaires

  1. Réponses: 13
    Dernier message: 23/09/2011, 18h24
  2. capture expression reguliere dans un fichier
    Par omelhor dans le forum Langage
    Réponses: 3
    Dernier message: 29/04/2011, 16h31
  3. Réponses: 2
    Dernier message: 18/05/2009, 12h17
  4. [ Vector Fichier ] Vector dans fichier texte
    Par geegee dans le forum Langage
    Réponses: 5
    Dernier message: 21/05/2004, 13h56
  5. Insertion dans fichier texte + rapide que TStringList ?
    Par benj63 dans le forum C++Builder
    Réponses: 8
    Dernier message: 26/02/2004, 11h34

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