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

Einlesen mit fester Spaltenbreite

 

Helmert
Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 04.05.2011, 14:00     Titel: Einlesen mit fester Spaltenbreite
  Antworten mit Zitat      
Ich suche eine Möglichkeit, Ascii-Dateien mit fester Spaltenbreite einzulesen. Dabei soll der Spalteninhalt auch mit einem Leerzeichen beginnen dürfen. Zum Beispiel:

Code:

 7207  A
 7205 AA
 7204  A
 7216  A
 


Der erste Wert sei eine Zahl in Spalte 2-5; der zweite Wert sei eine Zeichenkette in Spalte 7+8. Das Ergebnis für die erste Zeile sollte sein: 7207 als Zahl und ' A' (nicht 'A '!) als Zeichenkette. Leider habe ich hierfür weder mit fscanf noch mit textscan oder gar textread eine Lösung gefunden.

Hat jemand eine Idee?
Private Nachricht senden Benutzer-Profile anzeigen


_Peter_
Moderator

Moderator


Beiträge: 537
Anmeldedatum: 08.12.10
Wohnort: ---
Version: 7.10, 2010a
     Beitrag Verfasst am: 04.05.2011, 14:16     Titel:
  Antworten mit Zitat      
Hallo Helmert,
die Befehle die du hast, sind schon die richtigen dafür. Hast du dir dazu mal die Hilfe angeschaut? Den Zusatz: '-ASCII'

Ansonsten zeig doch mal was du versucht hast und beschreib wo es fehlgeschlagen ist. Kamen Fehlermeldungen? Wenn ja welche? Wie lautet sie genau?
_________________

Gruß
Peter
_________________
goMatlab-Knigge - dran gehalten?!
Schon in den FAQ gesucht? Oder der MATLAB Hilfe?
Ist vielleicht bei den Skripten oder den Tutorials was für dich dabei?
Private Nachricht senden Benutzer-Profile anzeigen
 
Helmert
Themenstarter

Forum-Century

Forum-Century


Beiträge: 121
Anmeldedatum: 04.09.08
Wohnort: Karlsruhe
Version: 2011a
     Beitrag Verfasst am: 04.05.2011, 14:33     Titel:
  Antworten mit Zitat      
Vielen Dank für's Anschauen. Gerade, als ich meine erfolglosen Versuche für's Forum zusammenstellen wollte, habe ich es dann doch selbst herausgefunden:

Code:

x=textscan(fid,'%4d%*c%2s',1,'whitespace','')
 


Das Ergebnis ist wie gewünscht: x={7207,' A'}. Das einzige, was mir daran nicht klar ist, ist, warum das Leerzeichen in der ersten Spalte ignoriert wird. Mit dem Format '%*c%4d%*c%2s' funktioniert es nämlich nicht.
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.