|
|
Daten aus txt ab bestimmter Zeile lesen |
|
scoobydo |

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 23.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 13.11.2013, 12:32
Titel: Daten aus txt ab bestimmter Zeile lesen
|
 |
Hallo, ich weiss das solche Fragen schon des öfteren gestellt wurden. Nur leider haben mich die Antworten nicht weiter gebracht.
Ich habe eine recht große txt. Datei die ich einlesen möchte.
Dabei sollen die ersten 3 Zeilen übersprungen werden, da dort nur strings drin stehen, der Rest sind double Werte. Mein Versuch sah wie folgt aus:
Die dabei entstehende Zelle hat zwar die richtige Größe, nur leider liest er dabei lediglich die erste Zeile ein und die anderen drei bleiben ohne Inhalt. Würde am liebsten die Daten geschmeidig mit load einlesen. Aber das geht nicht da die Werte in den ersten 3 Zeilen strings sind. Kann man mit load auch Zeilen überspringen, bzw. wie kann man das Problem am einfachsten lösen?
Vielen Dank schon einmal
|
|
|
|
|
denny |

Supporter
|
 |
Beiträge: 3.853
|
 |
|
 |
Anmeldedatum: 14.02.08
|
 |
|
 |
Wohnort: Ulm
|
 |
|
 |
Version: R2012b
|
 |
|
|
 |
|
Verfasst am: 13.11.2013, 12:45
Titel:
|
 |
Hallo
das kann man mit TEXTSCAN ganz gut machen, da brauch man auch keine Schleife.
Aber aus dem Code kann ich kein Format deines Texts erkennen.
Also bitte Spaltenanzahl angeben, Wie werden die Werte von einander getrennt usw..
Am besten ein Beispielfile dazu anhängen, ansonsten in der Doku zu TEXTSCAN schauen, dort gibt es sehr viele erläternde Beispiele.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 13.11.2013, 12:45
Titel:
|
 |
Hallo,
du kannst auch die 'HeaderLines'-Option von textscan verwenden.
Mit
liest du 665970 Doubles.
Kommen danach nochmal Textzeilen oder nicht? Ansonsten sollte in den weiteren Iterationen auch weitere 665970 Doubles gelesen werden - sofern in der Datei so viele stehen.
Falls das nicht weiterhilft: Kannst du die Datei anhängen bzw. falls sie zu groß ist ein kleineres Beispiel machen, anhanddessen man die Problematik nachvollziehen kann?
load ist nicht zum Einlesen von Textdateien gedacht, sondern für .mat-Dateien.
Grüße,
Harald
|
|
|
scoobydo |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 23.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 10:28
Titel:
|
 |
Schon einmal besten dank für die schnellen Antworten.
Die Version von denny habe ich zuvor schon probiert. Da liest er merkwürdiger weise nur eine Zeile ein und hört dann auf.
Nach den ersten drei Zeilen kommen nur noch Zahlen.
Getrennt sind die Zahlen durch eine unregelmäige Anzahl an Leerzeichen,
das eigentliche Problem ist glaube ich, dass die Zeilen merkwürdig getrennt sind. Denn eigentlich müsste er mir ja wenn die Zeilen wie üblich mit einem Break getrennt sind alles einlesen mit:
Die Datei hat exklusive den drei string Zeilen am Anfang 1404 Zeilen und 665970 Spalten.
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 10:41
Titel:
|
 |
Hallo,
hänge doch bitte die Datei oder einen Ausschnitt davon an, damit man das Problem nachvollziehen kann.
Grüße,
Harald
|
|
|
scoobydo |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 23.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 11:07
Titel:
|
 |
Die Datei muss in WordPad geöffnet werden, damit man seine Struktur sieht. In txt sind die Spalten verschoben.
Beschreibung: |
|
 Download |
Dateiname: |
New Text Document (2).txt |
Dateigröße: |
8.28 MB |
Heruntergeladen: |
522 mal |
|
|
|
Harald |

Forum-Meister
|
 |
Beiträge: 24.500
|
 |
|
 |
Anmeldedatum: 26.03.09
|
 |
|
 |
Wohnort: Nähe München
|
 |
|
 |
Version: ab 2017b
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 11:40
Titel:
|
 |
Hallo,
die Datei hat nicht 665970 Spalten, sondern insgesamt 665970 Einträge und "nur" 474 Spalten. Mit deiner Vorgehensweise werden alle Einträge in einen langen Vektor eingelesen. Den kann man mit reshape umformatieren oder das gleich folgendermaßen einlesen:
Grüße,
Harald
|
|
|
scoobydo |
Themenstarter

Forum-Anfänger
|
 |
Beiträge: 23
|
 |
|
 |
Anmeldedatum: 23.03.13
|
 |
|
 |
Wohnort: ---
|
 |
|
 |
Version: ---
|
 |
|
|
 |
|
Verfasst am: 14.11.2013, 14:45
Titel:
|
 |
Ah ok dann hatte er alles eingelesen, nur eben alles in eine Spalte.
Habt besten Dank, auf repmat wäre ich nie gekommen^^
Top Service hier
|
|
|
|
|
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.
|
|