Hallo,
ich bin ein Pythonanfänger und habe folgendes Problem:
Ich habe eine Große Datenmenge, die von Messsensoren Stammt und in Spalten aufgeteilt ist.
Jetzt will ich die Sachen auswerten, mit Python, klar.
Problem ist das es nicht wirklich Sinn macht alles selber einzulesen und dann so umzuformen das ich die richtigen Ergebnisse bekomme.
Meine Idee ist das ganze mit Pytables zu machen, das erscheint mir relativ Sinnig, da man einlne Spalten def. kann und dann die Daten zu diesen Einlesen (und dann auch so späße machen kann wie Mittelwert bilden und so was). Jetzt kommt mein Problem. Ich habe keine Anhnung wie ich die Daten einlesen kann. In den Tutorials wirden immer nur Tabellen definiert und die Werden dann mit eichfachen, erst im Programm erzeugten Daten gefüllt.
Wenn ihr mir hier weiterhelfen könntet wäre es toll.
Vieleicht wisst ihr ja auch ein Skripp/Tutorial das sich mit genau diesem Problem beschäftigt.
Danke schon mal
Datenauswertung
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
So könnten die Daten beispielsweise aussehen.
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
So könnten die Daten beispielsweise aussehen.
In konkreten Fall dürfte auch ein einfaches
genügen, um die einzelnen Zeilen in eine Liste (von Strings) umzuwandeln.
Je nach Datentyp muss dann noch eine entsprechende Typumwandlung vorgenommen werden.
Code: Alles auswählen
values = line.split(";")
Je nach Datentyp muss dann noch eine entsprechende Typumwandlung vorgenommen werden.
wenn du die daten in dem textfile hast kanst du sie so einlesen
Code: Alles auswählen
# -*- coding: utf8 -*-
import csv
# Einlesen der daten ("," ist bei csv der Default-Delimiter)
content = csv.reader(open("daten.txt", 'r'), delimiter=';')
# In der ersten Zeile stehen die Spaltennamen, die speichern wir uns
keys = content.next()
data = []
for line in content:
# Nun hängen wir die restlichen Zeilen an unsere Liste an und
# versehen jeden Spalteneintrag mit dem entsprechenden Namen
# ( organisiert als dictionary )
data.append(dict(zip(keys, line)))
print data
Ich weiss zwar nicht ob sein code funktioniert, so ist er aber sicherlich eleganter.sea-live hat geschrieben:wenn du die daten in dem textfile hast kanst du sie so einlesen
Code: Alles auswählen
# -*- coding: utf8 -*- import csv # Einlesen der daten ("," ist bei csv der Default-Delimiter) content = csv.reader(open("daten.txt", 'r'), delimiter=';') # In der ersten Zeile stehen die Spaltennamen, die speichern wir uns keys = content.next() data = [] for line in content: # Nun hängen wir die restlichen Zeilen an unsere Liste an und # versehen jeden Spalteneintrag mit dem entsprechenden Namen # ( organisiert als dictionary ) data.append(dict(zip(keys, line))) print data
Code: Alles auswählen
import csv
# Einlesen der daten ("," ist bei csv der Default-Delimiter)
content = csv.reader(open("daten.txt", 'r'), delimiter=';')
# In der ersten Zeile stehen die Spaltennamen, die speichern wir uns
keys = content.next()
data = [dict(zip(keys, line)) for line in content]
print data
Ohloh | Mein Blog | Jabber: segfaulthunter@swissjabber.eu | asynchia – asynchrone Netzwerkbibliothek
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.
Oder man benutzt einfach den bereits existierenden `csv.DictReader`.name hat geschrieben:Ich weiss zwar nicht ob sein code funktioniert, so ist er aber sicherlich eleganter.
"Der Dumme erwartet viel. Der Denkende sagt wenig." ("Herr Keuner" -- Bertolt Brecht)