WICHTIG: Der Betrieb von goMatlab.de wird privat finanziert fortgesetzt. - Mehr Infos...

Mein MATLAB Forum - goMatlab.de

Mein MATLAB Forum

 
Gast > Registrieren       Autologin?   

Partner:




Forum
      Option
[Erweitert]
  • Diese Seite per Mail weiterempfehlen
     


Gehe zu:  
Neues Thema eröffnen Neue Antwort erstellen

Zahlenblöcke aus Textdatei einlesen

 

Martinuk
Forum-Century

Forum-Century


Beiträge: 208
Anmeldedatum: 18.04.12
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 22.09.2014, 20:35     Titel: Zahlenblöcke aus Textdatei einlesen
  Antworten mit Zitat      
Hallo,

ich habe ein Textfile welches eine einzige Headerzeile besitzt nur vor dem jedem Zahlenblock, dessen Länge keine definierte Länge hat auch eine Art Kopfzeile. Ein Bsp. soll dies verdeutlichen

Code:
Variable1; Variable2; Variable3; Variable4; Variable5; ...
Text1; Text2; Zahl1; Text3;
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Zahl1; Text3;
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...
Text1; Text2; Text3; Zahl1; Zahl2; Zahl3; Zahl4; Zahl5; Zahl6; ...


Hier wäre also die 1te Zeile die einmalige Kopfzeile, die 2te & 9te Zeile eine Art Unterkopfzeile die jeweils den Anfang eines neuen Zahlenblocks markieren. Die restlichen Zeilen sind die eigentlich interessanten Daten und haben auch immer das gleiche Format so quasi %s%s%s%f%f%f%f%f%f.

Wie man am Bsp. sehen kann sind die Zahlenblöcke unterschiedliche "lang". Der erste Zahlenblock besteht aus 6x Reihen, der 2te aus 4x Reihen.

Wie könnte man nun dieses Textfile am elegantesten einlesen?

Meine aktuelle Lösung würde sinngemäß so aussehen
Code:

fgetl(fid);
fid = fopen('Textdatei.txt')
for i = 1:2 %im Bsp. sind 2x Zahlenblöcke von Interesse
     fgetl(fid); %Unterkopfzeile skippen
     Daten = textscan(fid, %s%s%s%f%f%f%f%f%f, N, 'delimiter', ';') %N ist die Länge des Zahlenblocks, für i=1 -> N=6, für i=2 -> N=4
     fgetl(fid); %Zeilenumbruch skippen, kA wie man das besser lösen könnte?
end
fclose(fid);
 



Über konstruktive Vorschläge wie man diesen Sachverhalt elegant lösen könnte würde ich mich freuen. Habe so das Gefühl das man dies eleganter lösen kann.

Könnte man die Zeile fgetl(fid); im textscan Befehl irgendwie noch berücksichtigen? Irgendwie wird der Zeilenumbruch glaub ich auch als Zeile erkannt.

Danke schonmal
Private Nachricht senden Benutzer-Profile anzeigen


Neues Thema eröffnen Neue Antwort erstellen



Einstellungen und Berechtigungen
Beiträge der letzten Zeit anzeigen:

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 | goMatlab RSS Button 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.