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

조회 수: 5(최근 30일)
Adriana Amrhein
Adriana Amrhein 2021년 10월 6일
답변: Prateek Rai 2021년 10월 9일
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
Voss
Voss 2021년 10월 6일
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.

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

답변(1개)

Prateek Rai
Prateek Rai 2021년 10월 9일
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!

Translated by