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 :

obtenir une liste de valeurs a partir d'un tableau [Python 2.X]


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Étudiant
    Inscrit en
    Avril 2014
    Messages
    23
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 34
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Avril 2014
    Messages : 23
    Points : 26
    Points
    26
    Par défaut obtenir une liste de valeurs a partir d'un tableau
    Bonjour a tous,
    Je debute en Python, ma question va surement sembler tres basique.

    Je dispose d'un fichier texte txtfile qui est dispose de la maniere suivante:

    ' Burnups
    0.00000E+00 2.00000E-02 2.00000E-01 5.00000E-01
    1.25000E+00 1.50000E+00 1.7500E+00 2.00000E+00
    0.00000E+00 2.00000E-02 2.00000E-01 5.00000E-01
    3.25000E+00 1.50000E+00 6.7500E+00 2.00000E+00
    4.00000E+00 2.00000E-02 7.00000E-01 5.00000E-01
    5.25000E+00 1.50000E+00 8.7500E+00 22.0000E+00
    ' Time
    0.0000E+00
    'Power
    3.30000E+01


    Je souhaiterais obtenir toutes les valeurs, de maniere individuelles, situees entres le flag " ' Burnup" et " ' Time", comme il suit:

    0.00000E+00
    2.00000E-02
    2.00000E-01
    5.00000E-01
    1.25000E+00
    .
    .
    .
    8.75000E+02
    22.0000E+02


    et dans une derniere etape changer les valeurs qui sont en ecriture scientifique en nombres reels:


    0.0000
    0.0200
    0.2000
    0.5000
    1.2500
    .
    .
    .
    87.500
    2200.0



    Voila la maniere par laquelle je procede:

    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
     
        infile = open(txtfile,"r")    
        scale_lines = infile.readlines()
        flag_1 = "' Burnups"
        index_1 = 0
        for index_1, locate_bu in enumerate(scale_lines):
            match = re.search(flag_1,locate_bu)
            if match != None:
                break
        index_1 = index_1 + 1
        #Cette boucle for m'indique a quelle ligne se trouve le flag "' Burnup" 
     
        flag_2 = "' Time"
        index_2 = 0
        for index_2, locate_bu in enumerate(scale_lines):
            match = re.search(flag_2,locate_bu)
            if match != None:
                break
            index_2 = index_2 - 1
        #cette boucle for m'indique a quelle ligne se truove le flag "' Time"
        #jusque la, cela semble bien fonctionner
     
        list3 =[]
        newlist=[]
        for bu_values in enumerate(scale_lines[index_1:index_2]):
            list3 = list (bu_values)
    a ce stade j'obtiens:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    [0, ' 0.00000E+00 2.00000E-02 2.00000E-01 5.00000E-01 \n']
    [1, ' 1.25000E+00 1.50000E+00 1.7500E+00 2.00000E+00 \n']
    [2, ' 0.00000E+00 2.00000E-02 2.00000E-01 5.00000E-01 \n']
    [3, ' 3.25000E+00 1.50000E+00 6.7500E+00 2.00000E+00 \n']
    [4, ' 4.00000E+00 2.00000E-02 7.00000E-01 5.00000E-01 \n']
    [5, ' 5.25000E+00 1.50000E+00 8.7500E+00 22.0000E+00 \n']
    je continue donc, dans ma boucle
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
        for bu_values in enumerate(scale_lines[index_1:index_2]):
            list3 = list (bu_values)
            for i in list3:
                newlist.append(i.split()[0])
    j'ai alors l'erreur suivante: AttributeError: 'int' object has no attribute 'split'

    Avez vous une solution a mon erreur, ou plus simplement, quelles solutions existe-t-il pour resoudre une situation ?

    Merci pour votre aide

  2. #2
    Expert éminent
    Avatar de tyrtamos
    Homme Profil pro
    Retraité
    Inscrit en
    Décembre 2007
    Messages
    4 461
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Var (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Retraité

    Informations forums :
    Inscription : Décembre 2007
    Messages : 4 461
    Points : 9 248
    Points
    9 248
    Billets dans le blog
    6
    Par défaut
    Bonjour,

    Je n'ai pas tout épluché, mais il y a au moins un problème dans le dernier code: enumerate renvoie un tuple dont le 1er élément est un compteur (donc un int).
    Un expert est une personne qui a fait toutes les erreurs qui peuvent être faites, dans un domaine étroit... (Niels Bohr)
    Mes recettes python: http://www.jpvweb.com

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 05/06/2012, 13h13
  2. Réponses: 0
    Dernier message: 08/06/2011, 13h45
  3. Réponses: 1
    Dernier message: 26/08/2007, 22h21
  4. Réponses: 10
    Dernier message: 08/08/2006, 10h24
  5. Réponses: 2
    Dernier message: 29/03/2006, 18h47

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