numpy.loadtxt()

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

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
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

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
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

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.
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

basti! hat geschrieben:Kannst du mir sagen wie ich es dann machen muss??
Du Dokumentation von ``loadtxt`` lesen und vielleicht mal etwas Quelltext zeigen.
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

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?
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

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)
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

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
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Die Fehlermeldung ist doch recht eindeutig: ``fname`` muss ein String sein. Was ist ``fname`` bei dir?
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

Achso, okay.
Und wie kann ich dann den Inhalt der Städtedateien mit diesem Befehl aufrufen?
Wie müsste meine Zeile dann lauten?
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

So:

Code: Alles auswählen

loadtxt(fname, dtype=<type 'float'>, comments='#', delimiter=None, converters=None, skiprows=0, usecols=None, unpack=False)
basti!
User
Beiträge: 13
Registriert: Donnerstag 15. April 2010, 18:04

Habs hinbekommen, waren mehrere Dateien im Ordner und das hat er durcheinandergebracht.

Danke trotzdem für die Hilfe
Antworten