PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Python Datei einlesen


01Detlef
11.05.2010, 16:12
Hallo,

ich habe gerade mit Python angefangen und möchte gerne eine txt-Datei einlesen.
Die txt-Datei ist so aufgebaut, dass in den ersten drei Reihen Text steht, der nicht berücksichtigt werden soll und dann fünf Spalten mit zahlen kommen, die jeweils durch 3 Leerzeichen getrennt sind.
Die Daten in der ersten und dritten Spalte interessieren mich nur und sollen gegeneinander in einer Grafik dargestellt werden.

Den Befahl habe ich gefunden:
numpy.loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False)¶
Gebe ich für fname einfach nur den Namen der txt-Datei an?skiprows =3 und delimiter = Whitespace?

mfg


szebi
11.05.2010, 20:47
http://docs.scipy.org/doc/numpy/reference/generated/numpy.loadtxt.html#numpy.loadtxt

Hier steht im 3. Beispiel genau das, was du brauchst ;)
Das waren nun 2 Minuten mit $suchmaschine

01Detlef
12.05.2010, 10:46
Hallo,

ich habe nun folgenden Code und kann den Fehler nicht finden:
import numpy
filename = 'sinus.txt'
x1 = numpy.loadtxt(filename,skiprows=4,delimiter =' ')


Kann ich mir die Datei dann ausgeben lassen, um zu gucken, ob richtig eingelesen wurde?
#for line in x1:
# print line
Habe das jetzt einfach mit print(x1) gemacht und es klappt. Das delimiter habe ich herausgenommen, weil whitespace eh eingestellt ist!
mfg

01Detlef
12.05.2010, 11:21
import numpy

datei = 'sinus.txt'
a = numpy.loadtxt(datei, skiprows=2)
res=numpy.fft.fft(a[1])

Ich habe jetzt den folgenden Code und der läuft auch soweit. Jetzt möchte ich gerne das Ergebnis als Grafik ausgeben, wie geht das?

Ich habe das mit dem plot-Befehl versucht, aber das funktioniert nicht!

detlef

szebi
12.05.2010, 19:12
Was meinst du genau mit "graphisch darstellen"
Erste Spalte x, 2. y?

Wie du das machst hängt mal davon ab, wie du programmiertst. Läuft das auf dem Webserver oder willst du eine GUI?

01Detlef
17.05.2010, 09:49
Hallo,

also am besten wäre eine GUI. Auf der x-Achse die Frequenz und auf der y-Achse die Peak's.

mfg