|
|
Text Datei einlesen mit unbekannter Spaltenzahl / Variablen |
|
rennur |
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 13.02.12
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.08.2018, 12:20
Titel: Text Datei einlesen mit unbekannter Spaltenzahl / Variablen
|
|
|
|
|
Hallo zusammen,
mit Erschrecken stelle ich gerade meine inzwischen stark gewordene Unfähigkeit fest, in Matlab Probleme zu lösen. Okay, es könnte auch daran liegen, dass ich seit 4 Jahren nichts mehr gemacht habe.
Seis drum, aktuell versuche ich, aus einer mit Labview erstellten Text Datei (mit Headerinformationen) sowohl die Variablennamen als auch die zugehörigen Werte auszulesen. Beides folgt keinem festen Chema. die Variablen sind veränderlich, die Anzahl an Variablen ebenfalls.
Seit 1,5 Tagen versuche ich auf einen grünen Zwei zu kommen, leider bisher ohne Erfolg. Das Importtool (Import Data) von Matlab findet ohne Probleme die Variablennamen und ordnet die Daten entsprechend zu.
Es muss doch nun auch möglich sein, dies als Code zu programmieren und automatisiert über mehrere Dateien laufen zu lassen?
Meine ersten Gehversuche mit fopen, load, fgetl, import ... usw. scheiterten kläglich. Nicht mal die Anzahl an Spalten bekomme ich aktuell? Die Daten sind per Tabstopp getrennt. Das sollte doch nicht so schwer sein?
Besten Dank vorab.
Beschreibung: |
|
Download |
Dateiname: |
Beispiel_Import_Data.PNG |
Dateigröße: |
78.32 KB |
Heruntergeladen: |
346 mal |
|
|
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.08.2018, 13:27
Titel:
|
|
Hallo,
du kannst das mit readtable importieren. Um mit den Dezimalkommas umzugehen, bräuchtest du mindestens R2016b und dann die Befehle detectImportOptions und evtl. setvartype / setvaropts.
Wenn es dir nur um die Anzahl der Spalten geht: mit fgetl eine Zeile einlesen, in Double umwandeln und die Anzahl der Trennzeichen zählen (Tab ist 9, glaube ich).
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
rennur |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 13.02.12
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 08.08.2018, 13:39
Titel:
|
|
Super!
'readtable(filename);' hat sogar schon ohne weitere Schalter und Optionen gereicht, um eine Tabelle zu erzeugen, in der Variablen und Werte enthalten sind.
Diese muss jetzt im Bereich der Werte sicherlich nur noch "nachbearbeitet" werden.
Habe übrigens Matlab R2018a
Ich danke dir Harald =)
|
|
|
Harald |
Forum-Meister
|
|
Beiträge: 24.495
|
|
|
|
Anmeldedatum: 26.03.09
|
|
|
|
Wohnort: Nähe München
|
|
|
|
Version: ab 2017b
|
|
|
|
|
|
Verfasst am: 08.08.2018, 13:51
Titel:
|
|
Hallo,
du solltest dir auf jeden Fall eine Variable zurückgeben lassen, sonst wird die Rückgabe in ans geschrieben.
Grüße,
Harald
_________________
1.) Ask MATLAB Documentation
2.) Search gomatlab.de, google.de or MATLAB Answers
3.) Ask Technical Support of MathWorks
4.) Go mad, your problem is unsolvable ;)
|
|
|
rennur |
Themenstarter
Forum-Anfänger
|
|
Beiträge: 18
|
|
|
|
Anmeldedatum: 13.02.12
|
|
|
|
Wohnort: Berlin
|
|
|
|
Version: ---
|
|
|
|
|
|
Verfasst am: 10.08.2018, 08:29
Titel:
|
|
Hallo Harald,
ich tue mich gerade noch ein wenig schwer, aus der Table die Daten für mich greifbar zu machen.
Der Befehl DetectImportOptions ist meiner Beobachtung nach auch schon im Befehl Readtable enthalten. Dieser ändert zumindest nichts an den Formatierungen beim einlesen.
Problematisch ist, dass die Reihenfolge und Anzahl der Variablen nicht festgelegt ist. Das kann von Datei zu Datei variieren. Das heißt, dass ich hier auch nichts vorgeben kann - leider.
Meine Idee: Anhand von (Teil-)Strings die Spalten aus der Tabelle entnehmen, in einem Vektor ablegen und entsprechend formatieren.
Die Teilstrings habe ich versucht mit find und strcmp zu finden. Das klappt bislang noch nicht.
Hast du da noch mal einen wertvollen Tipp für mich?
|
|
|
|
|
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
|
|
Impressum
| Nutzungsbedingungen
| Datenschutz
| FAQ
| RSS
Hosted by:
Copyright © 2007 - 2024
goMatlab.de | Dies ist keine offizielle Website der Firma The Mathworks
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.
|
|