Bestimmte Zeilen einer textdatei lesen
Verfasst: Donnerstag 21. September 2017, 13:53
Hallo!
Ich stehe vor folgendem Problem: Ich habe Text(.dat) Dateien, die eine Reihe von Daten enthalten. Diese Daten sehen in etwa so aus:
#timestamp counter frequency [Hz] energy [J]
1505923164.480557 1603 +0.0e+00 +7.2396e-03
1505923164.581423 1604 +1.0e+01 +9.9698e-03
1505923164.682232 1605 +1.0e+01 +7.0931e-03
Die Files sind einige tausend Zeilen lang. Allerdings sind zwischen verwertbaren Daten auch solche, die ich nicht brauche. Daher möchte ich nur Zeilen zwischen bestimmten Zeitstempel einlesen, über diese mitteln und das ganze als Wert zu einer Liste hinzufügen. Also beispielsweise:
Alle "Energy" Werte zwischen Zeitstempeln 1505923164 und 1505923165 einlesen, den Durchschnitt bilden, als erstes Objekt zur Liste L hinzufügen.
Dann alle Werte zwischen Zeitstempeln 1505923168 und 15059231649, mitteln und als zweiten Eintrag zur Liste hinzufügen.
Ich finde zwar im Internet einiges, wie man bestimmte Reihen nach ihrer Nummer einlesen kann, aber finde nichts, und habe auch selbst keine Idee, wie ich bestimmte Zeilen nach ihrem ersten Eintrag einlesen kann....und bei einem mehrere tausend Zeilen langen File und 100 "Bereichen", die ich einlesen möchte, würde das händisch extrem lange dauern.
Hat jemand hier vielleicht einen Tip? Gibt es eine Funktion die sowas kann?
lieben Dank schonmal
Ich stehe vor folgendem Problem: Ich habe Text(.dat) Dateien, die eine Reihe von Daten enthalten. Diese Daten sehen in etwa so aus:
#timestamp counter frequency [Hz] energy [J]
1505923164.480557 1603 +0.0e+00 +7.2396e-03
1505923164.581423 1604 +1.0e+01 +9.9698e-03
1505923164.682232 1605 +1.0e+01 +7.0931e-03
Die Files sind einige tausend Zeilen lang. Allerdings sind zwischen verwertbaren Daten auch solche, die ich nicht brauche. Daher möchte ich nur Zeilen zwischen bestimmten Zeitstempel einlesen, über diese mitteln und das ganze als Wert zu einer Liste hinzufügen. Also beispielsweise:
Alle "Energy" Werte zwischen Zeitstempeln 1505923164 und 1505923165 einlesen, den Durchschnitt bilden, als erstes Objekt zur Liste L hinzufügen.
Dann alle Werte zwischen Zeitstempeln 1505923168 und 15059231649, mitteln und als zweiten Eintrag zur Liste hinzufügen.
Ich finde zwar im Internet einiges, wie man bestimmte Reihen nach ihrer Nummer einlesen kann, aber finde nichts, und habe auch selbst keine Idee, wie ich bestimmte Zeilen nach ihrem ersten Eintrag einlesen kann....und bei einem mehrere tausend Zeilen langen File und 100 "Bereichen", die ich einlesen möchte, würde das händisch extrem lange dauern.
Hat jemand hier vielleicht einen Tip? Gibt es eine Funktion die sowas kann?
lieben Dank schonmal