|
|
Sehr große strukturlose Textfiles in Matlab einlesen |
|
bmtil |

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 01.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2016, 16:53
Titel: Sehr große strukturlose Textfiles in Matlab einlesen
|
 |
Hallo,
ich möchte sehr große und (scheinbar) unstrukturierte Files in Matlab einlesen. Mit unbekannter Anzahl an Zeilen.
Ich habe die beiden Funtktionen fscanf und textscan gefunden. Jedoch muss man bei beiden Funktionen ein Format der Textfiles vorgeben, in meinem Fall kann ich das nicht tun, weil ich die Anzahl der Zeilen nicht kenne und sich diese auch vom File zur File ändert.
Hier ist die Stelle an der ich nicht weiter komme:
Meine Fragen sind:
Wie kann ich eine unbekannte Anzahl an Textzeilen vorgeben? Kann ich der textscan Funktion oder der fscanf Funktion bestimmte Strings vorgeben, nach denen diese in den Files suchen sollen?
Vielen Dank und Grüße.
EDIT: hier vllt. die Fehlermeldung die ich bekommen, wenn ich versuche die Zeilen zu zählen:
Zuletzt bearbeitet von bmtil am 24.11.2016, 17:06, insgesamt einmal bearbeitet
|
|
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.11.2016, 17:06
Titel:
|
 |
Hallo,
bei
textscan
brauchst du die Anzahl der Zeilen nicht anzugeben.
readtable
könnte hilfreich sein, weil es die Formate der Spalten errät.
Wenn du 1-2 Dateiausschnitte anhängst, lässt sich leichter was dazu sagen.
Kann sich von Zeile zu Zeile die Anzahl oder das Format der Spalten ändern? Das wäre ein etwas größeres Problem.
Grüße,
Harald
|
|
|
bmtil |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 01.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2016, 17:13
Titel:
|
 |
|
 |
|
Harald hat Folgendes geschrieben: |
Hallo,
bei
textscan
brauchst du die Anzahl der Zeilen nicht anzugeben.
readtable
könnte hilfreich sein, weil es die Formate der Spalten errät.
Wenn du 1-2 Dateiausschnitte anhängst, lässt sich leichter was dazu sagen.
|
Danke für die Antwort. Hier sind zwei Beispieldateien, eine große und eine kleine. Sind als .zip gepackt, da ich die .asm Dateien nicht hochladen kann. Man kann die aber problemlos mit Notepad++ öffnen.
doc readtable verrät mir nichts.
Harald hat Folgendes geschrieben: |
Kann sich von Zeile zu Zeile die Anzahl oder das Format der Spalten ändern? Das wäre ein etwas größeres Problem.
|
Ja, das Format der Spalten kann von Zeile zur Zeile ändern. Vllt. muss ich nicht das gesamte File einlesen, es würde mir auch reichen, wenn ich mit textscan nach gewissen Wörtern im Text suchen könnte. So wie grep in Linux anscheinend! Schade nur, ich habe 0 Plan von Linux.
Beschreibung: |
|
 Download |
Dateiname: |
Desktop.zip |
Dateigröße: |
263.07 KB |
Heruntergeladen: |
302 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.501
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 24.11.2016, 18:11
Titel:
|
 |
|
|
bmtil |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 01.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 24.11.2016, 19:14
Titel:
|
 |
Ich möchte nach folgenden Wörtern suchen: "t_XXXX", wobei X jeden Wert zwischen 0 und 9 bzw. A und F, annehmen kann. Dazu habe ich mir ueberlegt diese Funktion zu benutzen:
https://de.mathworks.com/matlabcent.....n--very-fast-grep-utility
strfind hoert sich aber besser an, das werde ich morgen als erstes ausprobieren, habe zu Hause keinen Matlab Zugang.
Grüße.
[EDITED, Jan, Bitte kein Top-Quoting - Danke!]
|
|
|
bmtil |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 49
|
 |
|
 |
Anmeldedatum: 01.05.12
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 25.11.2016, 13:50
Titel:
|
 |
|
 |
|
Ich entschuldige mich für den Doppelpost, leider konnte ich meinen letzten Beitrag nicht editieren. Habe tatsaechlich den Button nicht gefunden.
Ich habe festgestellt, ich habe ein großes Problem mit der gesamten Aufgabe. Mein Ziel ist es eine Variablenreduktion in den .asm Dateien durchzuführen. Die Namen der Variablen, werden dabei an einer anderen Stelle im Projekt erzeugt. Mein Ansatz ist:
1. Zu bearbeitende Datei öffnen -> funktioniert
2. Das Variablenwörtbuch an meine Reduktionsfunktions übergeben -> globals werden ja ungerne gesehen, wie soll ich das machen? -> deswegen habe ich da in meiner Fkt. erstmal die blöde "ich erstelle mir ein Wörterbuch" routine, obwohl das schon merhfach gemacht wurde. Puh.
3. In einer While - Schleife solange textscan ausführen, bis alle Keys des Variablenwörterbuchs markiert sind. -> Dabei soll aber der Text in umgekehrter Zeilenreihenfolge gelesen werden. Mich interessiert immer die Stelle im Code, an der die jeweilige Variable, zum letzten mal gelesen oder geschrieben wurde.
4. In der zweiten While - Schleife werden alle markierten Variablen im "unteren" Code (also dem Teil des Codes, welcher in 3. als erstes durchgelaufen wurde) mit denen Variablennamen (Keys des Wörterbuchs) ersetzt, die zuvor im Code schon verwendet wurden, aber nicht mehr benötigt werden.
Alles in einem ein "kleines" vier - Schritte Programm, kann doch nicht so komplex sein.
Hier bis jetzt das was ich habe, ich versuche das schön Schritt für Schritt zu machen:
Die While - Schleife ist erstmal nur zum Testen da, ich möchte mir immer die Anzahl der Zeilen im Code rausgeben lassen, so wie gestern. Ich kriege jetzt zwar keine Fehlermeldung mehr, aber das Ergebnis der Zählung ist trotzdem immer 0.
Grüße.
|
|
|
|
|
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 - 2025
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.
|
|