필터 지우기
필터 지우기

read from multiple text file and store in a 3D array

조회 수: 2 (최근 30일)
Damith
Damith 2014년 6월 17일
댓글: dpb 2014년 6월 17일
Hi,
I have 378 text files (0001.txt, 0002.txt, ....0378.txt). I can read each text file using the following code by chaning the file name each time and it works fine. But I want to read all text files using a for loop/using a code and store in a 3D array. I need to store in a 3D array is Eleven1,....upto Eleven378.
Can somebody suggest me a way to do in matlab?
filename = '0001.txt';
delimiterIn = ' ';
headerlinesIn = 1;
Eleven_ST1 = importdata(filename,delimiterIn,headerlinesIn);
% View data
for k = [1:4]
head=(Eleven_ST1.textdata{1});
Eleven1=(Eleven_ST1.data(:, k));
Eleven1_YYRR=([Eleven_ST1.data(:,1) Eleven_ST1.data(:,4)]);
end
Thanks in advance.

답변 (1개)

dpb
dpb 2014년 6월 17일
See the FAQ
I strongly recommend the dir solution.
If the data in each file are 2D, then preallocate the number of planes based on the result of dir (instead of hardcoding in 378 to make the script more generally useful) and then store in the plane as
data(:,:,ix)=[file_data1 file_data2];
where ix will be the loop over 1:length(d) and
d=dir('*.txt'); % the files to process directory structure
  댓글 수: 6
Damith
Damith 2014년 6월 17일
Yes. Thanks for your guidance though.
dpb
dpb 2014년 6월 17일
You're welcome...my intent is generally aimed to "teach to fish" as well as get a solution...

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

카테고리

Help CenterFile Exchange에서 File Operations에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by