Ich kann nicht damit umgehen, eine Liste von Strings auf eine Liste von Floats aufzuteilen. Ich öffne eine Textdatei (.vol, aber es enthält nur Text), die letzte Zeile ist eine extrem lange Reihe von Zahlen.Splitten einer String-Liste in Floats - Speicherfehler
Params1 437288,59375000 102574,20312500 -83,30001831
Params2 437871,93750000 104981,40625000 362,10000610
Params3 0,00000000
Params4 342 1416 262
Params5 583,34375000 2407,19995117 445,40002441
Params6 20,00000000
Params7 1,70000005
Params8 126.879.264
Werte:
0.25564435 0. 462.439 0,1365 0,1367 26,00000000 (usw., gibt es Millionen von Werten sind)
Da es sich um eine 10-Zeile einer txt-Datei ist, ich sie in eine Liste laden, indem Sie:
with open('d:/py/LAS21_test.vol') as f:
txt = []
for line in f:
txt.append(line)
Und dann versuche ich, konvertieren, dass aus der Zeichenfolge zu Schwimmern von:
A = []
for vx in txt[9]:
try:
A.append(float(vx))
except ValueError:
pass
print (A[0:20])
print (txt[9][0:20])
me Dieses geben, dass die Ergebnisse:
[0.0, 2.0, 5.0, 5.0, 6.0, 4.0, 4.0, 3.0, 5.0, 0.0, 4.0, 6.0, 2.0, 4.0, 3.0, 9.0, 0.0, 1.0, 3.0, 6.0]
0.25564435 0.462439
Was würde ich gerne haben eine Liste von richtig Schwimmer aufgeteilt, wie:
[0.25564435, 0.462439]
I verwendet except ValueError
Whitespaces zu verzichten - wenn nur float(txt[9])
mit I-Wert Fehler. Zweite Ausgabe: Ich kann txt[9].split
nicht verwenden, weil dann bekomme ich den "Speicherfehler".
Wie kann ich dies in eine Liste von Schwimmern richtig konvertieren?
Sie sollten die Eingabedatei Inhalt hinzufügen, um sie leichter zu verstehen. – AntoineB
Nur hinzugefügt, danke. –