Verfasst am: 12.01.2018, 16:22
Titel: Gleichen Datenbereich in mehreren .csv suchen und einlesen
Guten Tag,
in meiner Auswertung habe ich 50 verschiedene .csv-Datein, die in einem Ordner liegen.
Es sind Zeitreihen verschiedener Sensoren über mehrere Tage, wobei der Zeitraum von Datei zu Datei unterschiedliche ist.
Für z.B. die Druckaufzeichnung gibt es mehrere Dateien, Druck0.csv, Druck1.csv..., für die Temperatur ebenso.
Ich möchte die (Druck-,Temperatur-,...)Daten eines bestimmten Tages (also 1.1.17, 00:00 bis 23:59) zusammen fügen.
Manchmal wurde dieser Tag in *0.csv aufgezeichnet, manchmal in *1.csv... Je nach Datenreihe.
Konnte ich das ausdrücken?
Nun brauche ich also ein Skript, das in dem Ordner alle gewünschten Dateien öffnet (alle Druckdateien, alle Temperaturdateien), schaut, ob dort der benötigte Zeitraum drin steht, wenn ja, die Daten des Zeitraums aus der dritten Spalte rauskopiert, die Datei wieder schließt, zur nächsten Datei geht (durch den ganzen ordner iteriert)
und am Ende eine neue .csv erstellt, in der die Daten mit ihrem Namen (der Dateiname wäre ausreichend) ausgeschrieben werden.
Das ist leider zu komplex mit meinem Anfängerinnenwissen.
Nun bin ich an dem Punkt, wo ich die Datei einlesen kann und den Zeitstempel mit meinen Wunschdaten vergleichen-
mit der Schleife im Code lösche ich nun nach und nach jede Zeile, die mir nicht gefällt. Das geht doch sicher noch irgendwie schneller und eleganter, oder?
Nun könnte ich nacheinander alle Datein einlesen und auf die zwei Daen reduzieren, die mich interessieren.
Woran ich nun schon lang hake: wie kann ich nun bei jedem Schleifendurchlauf die Variablen-Spalte auschreiben, um nach allenSchleifen eine .csv draus zu machen?
Ich scheitere an meinem halbwissen über die Cells/Tables.. Hab nun schon verschiedene Sachen ausprobiert und schaff es nicht, fortlaufen d eine Matrix oder Table zu schreiben, die den Variablennamen hat und in jeder Schleife erweitert wird.
In dem Codebeispiel versuche ich es mit Table, weil die automatisch eine neue Spalte anfügt- Table hat aber ein Problem damit, wenn ich ab dem zweiten Durchlauf die Timeseries nciht umbenannte habe und ich denke, dass ich ein Problem kriege, wenn ich später verschiedene anzahlen an Zeilen aus meienm Filter raus bekomme (da mag Table nciht, oder?)
der Punkt bei datastores ist, dass du dort schon direkt alle Dateien angeben kannst. Dann brauchst du keine Schleife mehr und kannst mit readall alle Dateien auf einmal einlesen.
Grüße,
Harald
Einstellungen und Berechtigungen
Du kannst Beiträge in dieses Forum schreiben. Du kannst auf Beiträge in diesem Forum antworten. Du kannst deine Beiträge in diesem Forum nicht bearbeiten. Du kannst deine Beiträge in diesem Forum nicht löschen. Du kannst an Umfragen in diesem Forum nicht mitmachen. Du kannst Dateien in diesem Forum posten Du kannst Dateien in diesem Forum herunterladen
MATLAB, Simulink, Stateflow, Handle Graphics, Real-Time Workshop, SimBiology, SimHydraulics, SimEvents, and xPC TargetBox are registered trademarks and The MathWorks, the L-shaped membrane logo, and Embedded MATLAB are trademarks of The MathWorks, Inc.