Meine Eingabedatei hat die Form:Lese schwimmt aus der Datei mit Python
5.0, 1000.0, 100000000000000.0, 115.2712, 230.538, 345.796, 461.0408,
1.053E-09, 1.839E-09, 1.632E-10, 1.959E-12, 4.109, 3.683, 3.586, 3.650
wo jede Zahl im Wesentlichen in einer Linie ist.
Was ich tun möchte, ist alle Floats zu lesen, und nur die Spalten 7 bis 10 an ein Array anfügen.
Hier ist, was ich geschrieben habe:
T=[]
with open("test.txt", "r") as file1:
for line in file1.readlines():
f_list = [float(i) for i in line.split(",")]
T.append(float(f_list[7]))
T.append(float(f_list[8]))
T.append(float(f_list[9]))
T.append(float(f_list[10]))
Wenn ich die oben laufen erhalte ich:
ValueError: could not convert string to float:
Ich denke, es mit dem float(i)
Teil etwas falsch ist, aber ich kann ein nicht gefunden um es herum.
Ich habe Leute gesehen, die ähnliche Probleme haben, aber keine der Fixes, die ich bisher versucht habe, haben geholfen. Jede Hilfe wird sehr geschätzt. Kein
Irgendwo dort hast du etwas, das kein Float als Text ist. Untersuche die Datei. –
@ IgnacioVazquez-Abrams Es ist wahrscheinlich das nachgestellte Leerzeichen in seiner ersten Zeile, das den Fehler verursacht. Dadurch wird eine leere Zeichenfolge erzeugt. Und wenn das an float() übergeben wird, schlägt es fehl. –
Ich verstehe es nicht. Jedes Float ist eine Linie, aber Sie haben Spalten? Meintest du Zeilen oder gibt es auf jeder Zeile mehr als einen Float? –