Verfasst am: 12.05.2011, 11:03
Titel: txt Datei mit text und Zahlenwerten einlesen
Moin Moin,
ich versuche eine txt Datei einzulesen, in der die ersten vier Zeilen der Header sind, die erste Spalte auch ein String ist und der Rest der Matrix Zahlenwerte sind.
Dazu kommt das die Textfelder mit " beginnen und auch damit Enden (das ist vom Datenlogger so vorgegeben und kann nicht geändert werden).
dlmread kommt mit den Textwerten nicht zurecht,
also habe ich es mit fileread probiert. Damit kann ich die Werte einlesen,
aber ich weiß leider nicht wie ich das ganze in eine ordentliche Matrix überführe.
Eigentlich kann es doch nicht so ein Problem sein eine Datei mit Text und Zahlenwerten einzulesen, oder bin ich zu blöd zum suchen?
Vielen Dank schonmal im vorraus.
MfG marcus
Datenformat.jpg
Beschreibung:
Hier ein Schnappschuss meiner Eingangsdaten (eingelesen in Excel)
ich würde es mit TEXTSCAN versuchen, da sind auch schöne Beispiele in der Doku.
Ich gehe dabei davon aus, dass du tatsächlich eine Textdatei hast und nicht, wie der Screenshot vermuten lässt, eine Excel-Datei.
Für weitergehende Hilfe poste doch mal deinen bisherigen Ansatz bzw. die konkreten Probleme dabei. Die tatsächliche Textdatei (bzw. ein Ausschnitt davon als Textdatei) wäre zudem hilfreicher als ein Screenshot davon.
Grüße,
Harald
grünerPilz
Gast
Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
Verfasst am: 12.05.2011, 11:49
Titel:
Hallo,
du könntest es mal damit versuchen, wenn du es aus einer txt-Datei ausliest: (Beispiel für Spalten A bis I)
dann schreibt Matlab den Inhalt der gesamtern Datei in eine Zelle, das will ich natrülich nicht, also hatte ich überlegt das ganze über die delimiter zu separieren
Ich weiß das sieht ziemlich chaotisch aus, aber ich verstehe die Logik hinter der Zuordnung von textscan noch nicht ganz.
Ich glaube das Hauptproblem ist der Zeitstempel am Anfang, ich könnte durchaus damit leben die Kopfzeile nicht zu importieren, aber wenn ich den Zeitstempel weglasse wirds doof. Das eigentliche Trennungszeichen ist das Komma, alle Textfelder aus der Kopfzeile und der Zeitstempel sind aber zusätzlich mit Hochkommas versehen.
@grünerPilz
wenn ich deine Zeileile verwende kommt folgender Fehler
trouble reading floatingpoint number from file line 1 field 6 ==> :50:17"...
Ich hab als Anhang mal das orginal Dat File angeängt, aber etwa um 7000 Zeilen gekürzt. (Also eigentlich enden die Datein alle auf .dat aber diese Endung ist hier im Forum nicht möglich also .txt)
Hallo Harald,
vielen Dank schonmal soweit funktioniert das alles.
Schlussendlich will ich mir bestimmte Zeilen des gesamten Datensatzes einzeln als txt Datei speichern.
Die Frage nach dem export stellt sich also.
dlmwrite funktioniert nicht weil nicht alle Elemente dem selben Datentyp entsprechen.
str2num auf die erste Spalte anzuwenden um das ganze dann zu exportieren funktioniert auch nicht, das Ausgabefeld bleibt leer.
fid ist nur ein Verweis auf die Datei, über den Lese- und Schreibvorgänge in der Datei ausgeführt werden.
In eine Textdatei schreiben kannst du Cell Arrays, indem du die Inhalte aus den Cell Arrays rausholst - im schlimmsten Fall zeilenweise. Wie genau das aussehen muss hängt nicht zuletzt vom Aufbau von data ab.
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.