2017-03-03 6 views
0

Wie können mehrere Dateien aus einem Verzeichnis mit Matlab lesen? Kann jemand bitte meinen Code helfen unten korrigieren:lesen Sie mehrere Dateien aus einem Verzeichnis mit Matlab

files =dir(fullfile(directory_path,'*.dat')); 
numfiles = length('*.dat'); 
mydat = cell(1, numfiles); 

for k = 1:numfiles 
    mydata{k} = fopen([directory_path,files(k).name]); 
    values=textscan(mydata{k},'%s','delimiter','\n'); 
    fclose(fid); 
    %fprintf(values) 
    ....do something with values..... 

end 

DAT-Dateien sind nur viele Zeilen und einzelne Spalte von Strings, die in einer Schleife und weiter verarbeitet gelesen werden müssen.

Dank

Antwort

0

Danke Zizy Archer.

Ich löste das Problem auf diese Weise:

files =dir(fullfile(directory_path,'*.dat')); 
numfiles = length(files); 

for k = 1:numfiles 
    textFileName = [directory_path,files(k).name] 
    fid = fopen(textFileName, 'r'); 
    textData = textscan(fid,'%s','delimiter','\n'); 
    fclose(fid); 

    data = textData{:,1} 
end 
1

fopen gibt Dateizeiger, die Sie mydata{k} speichern, und versuchen durch fclose(fid) zu lösen. Es gibt keine fid, so dass es nicht funktioniert. Was Sie tun sollten, ist mydata{k} durch fid zu ersetzen. Und wahrscheinlich values von mydata{k}.

Der andere Fehler ist in numfiles = .... Sie haben immer numfiles = 5, da es 5 Zeichen in der '* .dat' gibt.

numfiles = length(files); 

wäre besser, obwohl Sie auch Verzeichnisse zählen würden. Überprüfen Sie eine der anderen Fragen, wie Sie das lösen können.

Verwandte Themen