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

Mehrere Textfiles einlesen und jew. in einer cell ablegen

 

chortik
Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2011, 10:02     Titel: Mehrere Textfiles einlesen und jew. in einer cell ablegen
  Antworten mit Zitat      
Hallo allerseits,
ich hab ein Problem und hoffe ihr könnt mir da weiterhelfen. Ich weiß auch, dass es schon zu dem Thema eine Menge gab, aber ich habe nix finden können was mich weitergebracht hat.

Mein Problem sieht folgendermassen aus: Ich habe 390 Textfiles, welche ich mit Matlab gerne automatisiert einlesen und als Cell-Array weiterverarbeiten will. Jedes Textfile soll dabei in einer cell gespeichert werden. Jedes Textfile besteht aus 8 Spalten und um die 14000 Zeilen. Die erste Zeile ist eine Headline, welche ich nicht brauche.


Momentan bin ich am folgenden Punkt angelangt. Komm aber nicht weiter.

Code:

[FileName,PathName] = uigetfile('*.txt','Open Masterfile','MultiSelect','on')
for j = 1:length(FileName)
    fid=fopen(FileName{j},'r');
end
 


ich bin mit einlesen von daten nicht wirklich fit. Ich hoff jemand kann mir da weiterhelfen.

Viele Grüße


Alex




edit by denny: Bitte keine Doppelpostings mehr. Danke!
Private Nachricht senden Benutzer-Profile anzeigen


chortik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2011, 10:47     Titel:
  Antworten mit Zitat      
denny es war keine absicht von mir doppelpostings zu machen. Ich komme hier wirklich nicht weiter und wollte wissen ob hierzu jemand eine Idee hat.
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.05.2011, 10:50     Titel:
  Antworten mit Zitat      
Hallo

Was für Werte sind denn im Textfile, Zahlen? Wie werden die Werte von einander getrennt?

Falls es Zahlen sind dann schaue dir DLMREAD, mit dem kann man Header auch überspringen. Ansonsten TEXTSCAN ist dein Freund.
Private Nachricht senden Benutzer-Profile anzeigen
 
chortik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2011, 10:56     Titel:
  Antworten mit Zitat      
Hi Denny,
also im Anhang ist so ein Textfile. Es sind Zahlen und alles Tabulator getrennt.

danke für den Tipp

110518_091111.txt
 Beschreibung:

Download
 Dateiname:  110518_091111.txt
 Dateigröße:  673.18 KB
 Heruntergeladen:  305 mal
Private Nachricht senden Benutzer-Profile anzeigen
 
chortik
Themenstarter

Forum-Anfänger

Forum-Anfänger


Beiträge: 20
Anmeldedatum: 14.04.09
Wohnort: ---
Version: ---
     Beitrag Verfasst am: 26.05.2011, 13:11     Titel:
  Antworten mit Zitat      
Hallo,
habe das Problem jetzt so gelöst:

Code:

w = dir('VP*') ;
for i = 1:length(w)
    x = dir([pwd '\' w(i).name '\*.txt']);
    for j = 1:length(x)
        fd=fopen([pwd '\' w(i).name '\' x(j).name]);
        q=fread(fd);
        fclose(fd);
        nlines=sum(q ==10);      
        data{i}{j} = dlmread([pwd '\' w(i).name '\' x(j).name],'\t',[1,0 nlines-1,7]);      
    end
end
 



ACHTUNG die Bezeichnung in dir(...) muss natürlich angepasst werden an die ordnernamen bei euch.

ich hoffe ich kann damit anderen weiterhelfen

grüße


alex
Private Nachricht senden Benutzer-Profile anzeigen
 
denny
Supporter

Supporter



Beiträge: 3.853
Anmeldedatum: 14.02.08
Wohnort: Ulm
Version: R2012b
     Beitrag Verfasst am: 26.05.2011, 14:55     Titel:
  Antworten mit Zitat      
Hallo

so kannst du abkürzen,
benutze FULLFILE um Pfadteile zusammenzusetzen

Code:

w = dir('VP*') ;
for i = 1:length(w)
    x = dir(fullfile(pwd,w(i).name,'*.txt'));
    for j = 1:length(x)
        data{i}{j} = dlmread(fullfile(pwd,w(i).name,x(j).name),'\t',1);      
    end
end
 
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.