Formatiert aus Textdateien lesen
Verfasst: Donnerstag 21. August 2008, 15:26
Hi,
ich habe mehrere lange Textdateien mit folgendem Aufbau:
Also 3 Zahlen hintereinander, gespeichert mit dem Format '%16.8E%16.8E%16.8E'
Jetzt möchte ich gerne so schnell wie möglich die Daten als Numeric/numpy-array zurücklesen. Bisher mache ich das in etwa so:
Gibt es einen schnelleren bzw. eleganteren Weg? ISt nicht grade der Brüller, was die Geschwindigkeit angeht... Kann man wie in C oder FORTRAN direkt mit dem Formatbezeichner z.B. Float-Variablen füllen?
ich habe mehrere lange Textdateien mit folgendem Aufbau:
Code: Alles auswählen
...
4.15292212E+01 -3.21320849E-02 -2.56962394E+01
4.14830210E+01 -1.30006143E-02 -2.56981922E+01
4.14792219E+01 -3.21353576E-02 -2.56983141E+01
4.13678231E+01 -3.21319478E-02 -2.46497314E+01
4.13232229E+01 -1.30003931E-02 -2.46617714E+01
...
Jetzt möchte ich gerne so schnell wie möglich die Daten als Numeric/numpy-array zurücklesen. Bisher mache ich das in etwa so:
Code: Alles auswählen
# ===================================================================
from numpy import *
# ===================================================================
def line_to_vektor_f(zeile, anzahl, length):
vektor = zeros(anzahl, float)
cursor = 0
for i in range(anzahl):
vektor[i] = float(zeile[cursor : cursor + length])
cursor = cursor + length
return vektor
# ===================================================================
file = open('datei.txt', 'r')
lines = file.readlines()
file.close()
for each in lines:
a = line_to_vektor_f(each, 3, 16)
# ===================================================================