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