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

5 views (last 30 days)
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 Comments
Voss
Voss on 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.

Sign in to comment.

Answers (1)

Prateek Rai
Prateek Rai on 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.

Community Treasure Hunt

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

Start Hunting!