I need to load multiple files and extract one value from each file into an output file

2 vues (au cours des 30 derniers jours)
I have 300 files containing 8000 columns and 16 rows. I need to read in each file and extract the value from column 1300 row 14. I want to extract all these values into one output file. Can anyone help? Thanks!
  4 commentaires
Adriana Amrhein
Adriana Amrhein le 6 Oct 2021
I just converted them all to text files.
Voss
Voss le 6 Oct 2021
Then you should be able to use load to read the files:
% fn is assumed to be a cell array containing your 300 file names (full paths)
data = zeros(1,300);
for i = 1:300
new_data = load(fn{i});
data(i) = new_data(14,3000);
end
And then fopen, fprintf, etc., to write your output file.

Connectez-vous pour commenter.

Réponses (1)

Prateek Rai
Prateek Rai le 9 Oct 2021
To my understanding, you have 300 text files containing 8000 columns and 16 rows and you want to read data of column 1300 row 14 from each file.
% input to tabularTextDatastore will be the location of the folder where you have your text files
dts = tabularTextDatastore('Location of the folder containing text files');
files = dts.Files;
% data will store the data of column 1300 row 16 from each text files
data = zeros(300,1);
% for loop to read the data from every text files
for i = 1:1:length(files)
file_i = load(files{i});
data(i) = file_i(14,1300);
end
You can refer to tabularTextDatastore MathWorks Documentation page to learn more on datastore for tabular text files.

Catégories

En savoir plus sur Data Import and Export dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by