Readall files with different size,format , and extension in a directory

Hello,
I am trying to read 21 files that is in my directory. Some of the files are *a.txt and others *a.DAT files. The *a.DAT files has $ included in the data and are comma delimited and the *.txt files are comma delimited..This is the code I'm using below:
fnames = dir('C:\Program Files\MATLAB71\work\subfolder\files location);
tradata = cell(1,length(fnames));
for k=1:length(fnames)
fname = fnames(k).name;
tradata{k} = dlmread(fname, ',', '%e%c%f%*$';
End
Each time I run the code it finds 23 files in the dir instead of 21. When I look inside fname the first two files are:. And .. so when it gets too trada{k} it throws an error saying No such file in directory. Why does it see those files '.'and '..'. it doesn't make sense. So when I change the full directory to a specific type. Lets say *a.txt. it see all the *a.txt files but won't read them because when it call text text read it throws an error. Saying the range(l)=0 so there's no range(l)=1. I don't understand, help!!!

답변 (1개)

folder='C:\Program Files\MATLAB71\work\subfolder\files location'
fnames = [dir([folder '\*.dat']);dir([folder '\*.txt'])];

댓글 수: 6

I get unexpected matlab operator erro because of the *
Post the code you tested
Oops! I fixed it never mind. But I still get the same error: Attempted to access range(1); index out of bounds because numel(range)=0
check the size of fnames
size(fnames)
@Azzi So I decided to change the dlmread line by Tradata{k}=load(fname(k,1), ',') Error: unexpected text in line number 1. :'$'
Any help?
Size of fnames is 21 1 which is #files in directory Size of fname is 1 17 which I think is the number of letters in the file name

댓글을 달려면 로그인하십시오.

카테고리

도움말 센터File Exchange에서 File Operations에 대해 자세히 알아보기

제품

질문:

2014년 4월 18일

댓글:

2014년 4월 18일

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by