How to import multiple text files from multiple folders and take maximum from each text file
조회 수: 3 (최근 30일)
이전 댓글 표시
These are the main folders
And each folders contains these txt files, I need to import AllMaxDrift from each pga
답변 (5개)
Davide Masiello
2022년 5월 29일
clear,clc
n = 0.1:0.1:1.3;
for k = 1:length(n)
filename = [num2str(n(k)),'pga/AllMaxDrift.out'];
data = readmatrix(filename);
max_value(k) = max(data);
end
Something like this should work, although it strictly depends on the way the data inside the .out files are structured.
댓글 수: 3
Walter Roberson
2022년 5월 30일
I cannot be sure without a file to test with, but I suspect
n = 0.1:0.1:1.3;
for k = 1:length(n)
filename = [num2str(n(k)),'pga/AllMaxDrift.out'];
data = load(filename, '-ascii');
max_value(k) = max(data);
end
댓글 수: 3
Walter Roberson
2022년 5월 30일
You do not need to open the files in MATLAB: that code will open the files for you.
You can paste that code into the command line if you want. Or you can store it into a .m file and execute the .m file (which is what I would recommend.)
Davide Masiello
2022년 5월 30일
편집: Davide Masiello
2022년 5월 31일
n1 = 1:22;
n2 = 0.1:0.1:1.3;
max_value = zeros(length(n1),length(n2));
for row = 1:length(n1)
for col = 1:length(n2)
filename = ['R',num2str(n1(row),'%i'),'/data/',num2str(n2(col),'%.1f'),'pga/AllMaxDrift.out'];
data = importdata(filename);
max_value(row,col) = data(3,15);
end
end
This is based on the email you sent me saying you need the element in the 3rd row and 15th column of every file.
Please note that the max values are now stored in a matrix.
댓글 수: 22
Davide Masiello
2022년 6월 3일
@Nazanin Farsi my pleasure. If it worked, it is worth accepting the answer for future reference.
참고 항목
카테고리
Help Center 및 File Exchange에서 Startup and Shutdown에 대해 자세히 알아보기
제품
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!