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

Textscan: Zahlen und Text in Zeilen schreiben

 

NeuerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2008, 14:40     Titel: Textscan: Zahlen und Text in Zeilen schreiben
  Antworten mit Zitat      
Hallo,

ich bin neu hier und hoffe, ihr könnt mir weiterhelfen. Ich würde gerne aus einer txt-Datei zeilenweise Daten einlesen. Bspw. habe ich in einer Datei folgende Daten:

59;57;3;29;12;39;3;0;0.171875
59;57;4;19;22;39;3;1;0.34375
60;59;1;22;19;39;3;1;0.15625
Pfannkuchen sind lecker!

Versucht habe ich es mit:

Code:

fid=fopen(filename);
alldata=textscan(fid, '%s');
fclose(fid);


Leider spuckt er mir dann folgendes aus:
59;57;3;29;12;39;3;0;0.171875
59;57;4;19;22;39;3;1;0.34375
60;59;1;22;19;39;3;1;0.15625
Pfannkuchen
sind
lecker!

Ich möchte aber den letzten Satz in einer Zeile haben und nicht alle Wörter untereinander.

Kann mir jemand helfen? Was mache ich falsch?

Danke im Voraus und schönen Gruß
Jochen


NeuerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2008, 14:47     Titel:
  Antworten mit Zitat      
Beim Schreiben ist mir ein Licht aufgegangen. Das Problem liegt an wohl daran, dass ich pro Zeile nur einen String angegeben habe. Wie kann ich die Sache lösen, ohne den Code zu rigide zu machen? Ich habe nämlich mehrere txt-Files mit unterschiedlich langen Texten in der letzten Zeile ...
 
NeuerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2008, 14:57     Titel:
  Antworten mit Zitat      
Okay, das Problem liegt am Delimiter. Er ist momentan auf "White Space" gesetzt. Ich muss ihn also auf "Absatz" stellen.

Also muss ich nun nur noch herausfinden, wie das geht. Falls jemand das Kürzel für "neue Zeile" kennt, würde ich mich über eine Antwort sehr greuen.

Danke und Grüße
Jochen
 
NeuerGast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 29.09.2008, 15:00     Titel:
  Antworten mit Zitat      
Die Lösung war:

Code:

alldata=textscan(fid, '%s','delimiter','\t');
 


Trotzdem danke für's Zuhören;)
 
auch ein Gast

Gast


Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 24.01.2013, 11:49     Titel: Danke für die Lösung
  Antworten mit Zitat      
Very Happy Das finde ich wunderbar nett und sozial.
Habe das Gleiche Problem, und bin dankbar dass du deinen Weg und die Lösung gepostet hast.

Mir hat es sehr geholfen - und eine Menge Frust und Zeit gespart.
Die Erklärung wie und was ( delimter verwendung ) ist als Zusatz auch sehr gut, so weiss ich wenigstens was dieser Zusatz macht.

Daumen hoch!
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 12.02.2015, 17:43     Titel:
  Antworten mit Zitat      
Danke
 
Gast



Beiträge: ---
Anmeldedatum: ---
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 02.03.2015, 12:03     Titel: String überspringen
  Antworten mit Zitat      
Moin,

ich habe folgenden Form in einer Text-Datei:

Text Text Text
1 2 3
Text Text Text
4 5 6
Text Text Text
7 8 9

Ich möchte nun nur die Werte lesen und den Text zeilenweise überspringen.

Bislang gehe ich so vor:

Erste Zeile ist Header (im Bsp. Text Text Text):
Code:
formatSpec_H = '%s %s %s %s %s %s %s';


Für die Werte: (im Bsp. 1 2 3 und so weiter)
Code:
formatSpec_N = '%*2f.%*2f.%4*f %2f:%2f:%2f %f %f %f %f %f %f';

A = [A;textscan(fileID,formatSpec_H,1,...            
                'Delimiter', '\t')];
B = [B;textscan(fileID,formatSpec_N,...            
                'Delimiter', '\t',...
                'headerlines',1)];  
 

Leider klappt das halt nicht, wenn ich mehrere Zeilen mit Text habe.
Würde mich über Hilfe freuen!
Gruss Martin
 
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.