Das Problem ist das ich die Daten als Matrix brauche, so das ich sie Später weiter verwenden kann.
Erstmal die Daten:
YYYYMMDD;Uhrzeit;ta_w;Ta (°C);Tf_w;Tf (°C);v (m/s);WR (°);Q (W/m²);N (mm);Vp (hPa);VPmax (hPa);RH (%);Pa (hPa);Vmax (m/s);Bat
01.05.2008;00:10:00;1.04;10.2;1.03;6.7;3.4;162;0;0;7.5;12.5;60;968;4.01;14.3
01.05.2008;00:20:00;1.04;10.3;1.03;6.7;3.9;160;0;0;7.4;12.5;59;968;4.97;14.3
01.05.2008;00:30:00;1.04;10.3;1.03;6.8;4.2;163;0;0;7.5;12.5;60;968.1;5.37;14.3
01.05.2008;00:40:00;1.04;10.1;1.03;6.7;5.1;167;0;0;7.5;12.4;61;968.2;6.04;14.3
01.05.2008;00:50:00;1.04;10.3;1.03;6.6;4.4;182;0;0;7.3;12.5;58;968.3;5.97;14.3
01.05.2008;01:00:00;1.04;10.4;1.03;6.6;4.1;181;0;0;7.2;12.6;57;968.3;4.58;14.3
Die muss ich jetzt auslesen, die Zeit auf stunden rduzieren, so das ich dann den Stundenmittelwert von den Messdaten bilden kann (und dann vieleicht auch ihrgendwann plotten).
Momentan sieht der Code so aus:
data = loadtxt("dateiname.csv", delimiter=';', skiprows = 1, converters={0,datestr2num})
skiprows brauche ich da oben die Namen stehen und ich noch nicht wieß wie ich die Spalten den Namen zuordnen kann.
So hoffe das reicht,
vielen danke,
ein waschechter Anfänger
Daten auslesen
Ach ja, das mit dem Splitbefehl habe ich auch Ausbrobiert. Problem hier ist das er mir das Dokument zwar Zeilenweise trennt und die getrennte Zeile dann ausspuckt, ich dies aber nicht in eine Matrik schreiben kann.
Das gnaze lief etwas so:
fobj = file('dateiname', 'r')
for line in fobj:
a = line.split(";")
fobj.close()
wenn ich es mit date, time, value = line.split(";") probiere dann spuckt er mir aus: ValueError: too many values to unpack
Das gnaze lief etwas so:
fobj = file('dateiname', 'r')
for line in fobj:
a = line.split(";")
fobj.close()
wenn ich es mit date, time, value = line.split(";") probiere dann spuckt er mir aus: ValueError: too many values to unpack
auch ich bin ziemlicher Anfaenger
Ich kenn jetzt dieses loadtxt nicht. Aus welchem Modul ist denn das? Da wuerde es z.B. helfen wenn Du nicht mit "from xyz import *" arbeiten wuerdest sondern einfach nur mit "import xyz", dann steht in Deinem Codeschnipsel naemlich drin "data = xyz.loadtxt(...)" und wir koennten sehen aus welchem Modul das stammt.
Ansonsten ist das doch wunderbar ne Aufgabe fuer Listen und split. Schau Dir doch erstmal nochmal die ganzen Dokus zu normalen Listen an. Aus Listen laesst sich ja wunderbar ne Matrix machen, indem jede Zeile eine Liste ist und die wiederum alle in einer weiteren Liste stecken.
Beispiel (aus dem Buch "Learning Python"):
mit M[1][2] bekommst Du dann z.B. den Wert aus Reihe 2, Spalte 3.
Ich kenn jetzt dieses loadtxt nicht. Aus welchem Modul ist denn das? Da wuerde es z.B. helfen wenn Du nicht mit "from xyz import *" arbeiten wuerdest sondern einfach nur mit "import xyz", dann steht in Deinem Codeschnipsel naemlich drin "data = xyz.loadtxt(...)" und wir koennten sehen aus welchem Modul das stammt.
Ansonsten ist das doch wunderbar ne Aufgabe fuer Listen und split. Schau Dir doch erstmal nochmal die ganzen Dokus zu normalen Listen an. Aus Listen laesst sich ja wunderbar ne Matrix machen, indem jede Zeile eine Liste ist und die wiederum alle in einer weiteren Liste stecken.
Beispiel (aus dem Buch "Learning Python"):
Code: Alles auswählen
M = [[1, 2, 3],
[4, 5, 6],
[7, 8, 9]]
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Hast Du Dir mal a ausgeben lassen und angeguckt wie es aussieht? Wenn nein, tue das und voila, Du hast eine Zeile aus Deiner Matrixlastesel hat geschrieben:Ach ja, das mit dem Splitbefehl habe ich auch Ausbrobiert. Problem hier ist das er mir das Dokument zwar Zeilenweise trennt und die getrennte Zeile dann ausspuckt, ich dies aber nicht in eine Matrik schreiben kann.
Das gnaze lief etwas so:
fobj = file('dateiname', 'r')
for line in fobj:
a = line.split(";")
fobj.close()
Ist ja auch logisch, da in einer Zeile wesentlich mehr Einträge stehen, als Du atomare Variablen angegeben hast! Du speicherst nur drei Einträge, das split liefert Dir aber 11, wenn ich richtig gezählt habe.wenn ich es mit date, time, value = line.split(";") probiere dann spuckt er mir aus: ValueError: too many values to unpack
eben. Hier mal ein ganz einfaches Beispiel von mir, die anderen hier koennen das sicher noch viel besser:
Danach hast Du eine wunderschoene Matrix, die alle Reihen und Spalten enthaelt. Kann man sich dann z.B. so wunderbar anzeigen lassen:
die erste Zeile laesst sich leicht entfernen und die Datums und Uhrzeit-Felder kannst Du dann direkt ansprechen und an Ort und Stelle manipulieren, wenn Du eben z.B. nur den Stundenwert als zweite Spalte haben magst statt der genauen Uhrzeit.
Auch ich hab musste mich erstmal an diesen Typ 'list' gewoehnen und versteh vermutlich bis heute nur nen verschwindend kleinen Teil von dem was die Listen so alles koennen. Es lohnt sich aber glaub total, sich damit erstmal intensiv zu beschaeftigen, da sie erstens ne zentrale Rolle spielen in Python und zweitens einfach viele tolle Moeglichkeiten bieten um mit Daten in Python umzugehen. Von daher wuerde ich erstmal versuchen, alles mit so Standardelementen zu bauen statt gleich ein Spezialmodul zu verwenden, einfach um erstmal zu verstehen wie so Sachen wie Listen ueberhaupt funktionieren und was man damit alles machen kann.
Code: Alles auswählen
myfile = open('/pfad/zu/datei', 'rU')
lines = myfile.readlines()
myfile.close()
matrix = []
for line in lines:
linelist = line.split(';')
matrix.append(linelist)
Code: Alles auswählen
for i in matrix:
print i
Auch ich hab musste mich erstmal an diesen Typ 'list' gewoehnen und versteh vermutlich bis heute nur nen verschwindend kleinen Teil von dem was die Listen so alles koennen. Es lohnt sich aber glaub total, sich damit erstmal intensiv zu beschaeftigen, da sie erstens ne zentrale Rolle spielen in Python und zweitens einfach viele tolle Moeglichkeiten bieten um mit Daten in Python umzugehen. Von daher wuerde ich erstmal versuchen, alles mit so Standardelementen zu bauen statt gleich ein Spezialmodul zu verwenden, einfach um erstmal zu verstehen wie so Sachen wie Listen ueberhaupt funktionieren und was man damit alles machen kann.
Zuletzt geändert von shakebox am Dienstag 17. Juni 2008, 14:10, insgesamt 1-mal geändert.