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

Daten aus Textdatei löschen

 

01detlef
Forum-Anfänger

Forum-Anfänger


Beiträge: 47
Anmeldedatum: 07.05.10
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 09.05.2012, 18:16     Titel: Daten aus Textdatei löschen
  Antworten mit Zitat      
Hallo zusammen,

ich habe eine Frage zum Löschen von Zeilen aus einer Textdatei. Meine Datei ist mit Zahlen und Text aufgebaut:
Zitat:

###############################
Teil1
Nummer x y z
1 2 2 3
2 8 9 3
3
Teil2
Nummer x y z
1 2 1 4
2 3 2 3
3
...
###########################


Also es sind immer wieder Text- und Leerzeilen in der Datei. Ich möchte nun diese Datei einlesen und z.b. alle Zeilen mit der Nummer 1 und 2 in einem Array speichern. Also die ganze Zeile mit Nummer und x,y,z soll gespeichert werden. Dabei müssen jedoch Knoten 1 und 2 von Teil1 und Teil2 zusammen bleiben, sie dürfen nicht vertauscht werden.

Das Einlesen habe ich schon probiert mit:
Code:
infile = fopen(filename,'rt');
while not(feof(infile))
    line = fgetl(infile);
    [Ta]=strread(line,'%s','delimiter',[':',' ',';']);
   
end
fclose(infile);


Aber wie kann ich nun da die Zeilen, die ich möchte, herausziehen?

detlef
Private Nachricht senden Benutzer-Profile anzeigen


Jan S
Moderator

Moderator


Beiträge: 11.057
Anmeldedatum: 08.07.10
Wohnort: Heidelberg
Version: 2009a, 2016b
     Beitrag Verfasst am: 13.05.2012, 01:24     Titel: Re: Daten aus Textdatei löschen
  Antworten mit Zitat      
Hallo Detlef,

Ich verstehe die Frage noch nicht.

Zitat:
Also es sind immer wieder Text- und Leerzeilen in der Datei.

Wo sind die Leerzeilen?

Zitat:
Ich möchte nun diese Datei einlesen und z.b. alle Zeilen mit der Nummer 1 und 2 in einem Array speichern.

Welches sind die "Zeilen mit der Nummer 1"? Möchtest Du die Werte in einem DOUBLE-Array speichern, oder die Zeilen als in einem Cell String?

Zitat:
Also die ganze Zeile mit Nummer und x,y,z soll gespeichert werden. Dabei müssen jedoch Knoten 1 und 2 von Teil1 und Teil2 zusammen bleiben, sie dürfen nicht vertauscht werden.

Aber die Zeilen "Nummer x y z" sind doch alle identisch, oder? Wieso möchtest Du sie dann speichern? Und was sind "Knoten"?

Die gepostete Schleife enthält einen Fehler: Wenn Du das File-Ende erreichst, wird "line" keine String, sondern -1. Du brauchst also for STRREAD noch einen Abfrage.
Nebenbei wird STRREAD aber bald ausgemustert und ein Umstieg auf TEXTSCAN wird angeraten. Ausserdem ist "line" ein Built-in Befehl von Matlab und das überschreiben mit einer Variable könnte zu unerwarteten Ergebnissen führen.

Gruß, Jan
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.