Seite 1 von 1

numpy.loadtxt()

Verfasst: Freitag 23. April 2010, 20:04
von basti!
Hallo zusammen,

ich möchte ein Programm schreiben das mir Mittelwerte aus Wetterdaten ausgibt. Die Wetterdaten sind von 5 Städten in 5 verschiedenen dat Dateien. Die Dateien lade ich mit dem Befehl
numpy.loadtxt("Berlin.dat","München.dat",.....)

Das gespeicherte Programm ist im selben Ordner wie die 5 Dateien jedoch gibt er mir immer einen Fehler aus und sagt no such file or directory Berlin.dat, München.dat,..... .

Kann mir jmd sagen warum er die Dateien nicht erkennt?? Was muss ich anders machen.


Danke für eure Antworten

Verfasst: Freitag 23. April 2010, 21:19
von gkuhl
Es wäre gut, wenn du die komplette Fehlermeldung posten würdest. ``loadtxt`` funktioniert so wie du es verwenden willst auch nicht. Schau nochmal in den Docstring.

Grüße
Gerrit

Verfasst: Freitag 23. April 2010, 21:23
von basti!

Code: Alles auswählen

IOError: [Errno 2] No such file or directory: 'Berlin.dat'
Danke für die Antwort. Kannst du mir sagen wie ich es dann machen muss??
Bin absoluter Neuling :lol: ,kenne mich nicht so gut aus.

Verfasst: Freitag 23. April 2010, 21:26
von gkuhl
basti! hat geschrieben:Kannst du mir sagen wie ich es dann machen muss??
Du Dokumentation von ``loadtxt`` lesen und vielleicht mal etwas Quelltext zeigen.

Verfasst: Freitag 23. April 2010, 21:33
von basti!
Wie lese ich die Dokumentation?? Wie gesagt absoluter neuling.

Den Rest bekomme ich hin aber ich verstehe nicht wiese er die Datei nicht erkennt.Muss ich einen anderen Befehl nehmen? oder meine Datei umbenennen?

Verfasst: Freitag 23. April 2010, 21:42
von gkuhl
Wieso das nicht klappt, kann dir ohne deinen Quelltext vermutlich keiner sagen. Auf jeden Fall scheinst du aber ``loadtxt`` falsch zu benutzen.

Die Dokumentationen findest du hier:
- Python Dokumentation
- NumPy Dokumentation

In der Python Doku gibt's auch ein Tutorial, das du dir mal anschauen solltest. Da steht dann z.B. das man aus dem Python Interpreter die ``help``-Funktion verwenden kann:

Code: Alles auswählen

help(numpy.loadtxt)

Verfasst: Freitag 23. April 2010, 22:16
von basti!
Den Quelltext hab ich angeschaut.Danke noch dafür.Habe aber nichts gefunden was mir weiterhilft.


Ich hab jetzt mal alles weg und nur die ersten 2 Zeilen und noch ein print dazu um zu schauen ob es geht.



Jetzt bringt er folgende Fehlermeldung:

Code: Alles auswählen

raise ValueError('fname must be a string or file handle')
ValueError: fname must be a string or file handle
Aber ein Ausschnitt der datei sieht wie folgt aus:

Code: Alles auswählen

1	 1	 3	 3	-2.2	87	2.7	206	0
 1	 1	 4	 4	-2.4	88	3.0	206	0
 1	 1	 5	 5	-2.6	89	2.9	206	0
 1	 1	 6	 6	-2.4	88	3.2	206	0
 1	 1	 7	 7	-2.7	90	2.7	206	0
Das sind doch Strings.

Das Programm ( die 3 Zeilen) ist dieses:

Code: Alles auswählen

import numpy as np

werte = np.loadtxt(("Berlin", "Frankfurt", "Hamburg", "Koeln" ,"Muenchen"),usecols=(4,8),skiprows=4,unpack=True)

print werte

Verfasst: Freitag 23. April 2010, 22:20
von gkuhl
Die Fehlermeldung ist doch recht eindeutig: ``fname`` muss ein String sein. Was ist ``fname`` bei dir?

Verfasst: Freitag 23. April 2010, 22:25
von basti!
Achso, okay.
Und wie kann ich dann den Inhalt der Städtedateien mit diesem Befehl aufrufen?
Wie müsste meine Zeile dann lauten?

Verfasst: Freitag 23. April 2010, 23:24
von gkuhl
So:

Code: Alles auswählen

loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False)

Verfasst: Freitag 23. April 2010, 23:59
von basti!
Habs hinbekommen, waren mehrere Dateien im Ordner und das hat er durcheinandergebracht.

Danke trotzdem für die Hilfe