How to import multiple text files from multiple folders and take maximum from each text file

3 vues (au cours des 30 derniers jours)
These are the main folders
And each folders contains these txt files, I need to import AllMaxDrift from each pga
  3 commentaires
Stephen23
Stephen23 le 30 Mai 2022
@Nazanin Farsi: please upload a sample AllMaxDrift data file by clicking the paperclip button.

Connectez-vous pour commenter.

Réponses (5)

Davide Masiello
Davide Masiello le 29 Mai 2022
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 commentaires
Davide Masiello
Davide Masiello le 30 Mai 2022
Could you please attach one of your AllMaxDrift.out files?

Connectez-vous pour commenter.


Nazanin Farsi
Nazanin Farsi le 30 Mai 2022
  5 commentaires
Walter Roberson
Walter Roberson le 30 Mai 2022
Yes, load() should be able to handle those files.

Connectez-vous pour commenter.


Walter Roberson
Walter Roberson le 30 Mai 2022
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 commentaires
Walter Roberson
Walter Roberson le 30 Mai 2022
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.)

Connectez-vous pour commenter.


Davide Masiello
Davide Masiello le 30 Mai 2022
Modifié(e) : Davide Masiello le 31 Mai 2022
Hey @Nazanin Farsi, based on your replies, maybe the following code will work.
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 commentaires
Davide Masiello
Davide Masiello le 3 Juin 2022
@Nazanin Farsi my pleasure. If it worked, it is worth accepting the answer for future reference.

Connectez-vous pour commenter.


Nazanin Farsi
Nazanin Farsi le 31 Mai 2022

Sure. The Matrix which shows maximums, shows them to row 10, instead of 22 records. It shows zero

Catégories

En savoir plus sur Startup and Shutdown dans Help Center et File Exchange

Produits

Community Treasure Hunt

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

Start Hunting!

Translated by