For loop overriding pervious data

2 views (last 30 days)
Hello I am loading all of my file but for loop is overriding the previous data...mean like for each file the data should be stored in excel file how should i implement it .....Like I want is file 1 data should be stored than file 2 and next file 3 in excel .......The below code i m using .....
clear all
close all
clc
filenames={'file1.mat,file2.mat,file3.mat'}
for i = 1:nume1(filenames)
load(filenames{i})
THC1= THC_sim_cum
end
xlswrite('e.xlsx',[THC1])
or any other alternative of loading the matlab data for all three files to excel is also fine...the no of files can increase it can be 20 also .....Thank u in advance

Accepted Answer

Ankit
Ankit on 19 Jan 2022
I tweaked a bit @KSSV answer. Second loop I added in case you have different variable size in *.mat file. I hope this solution will work for you. It is good when you tell more about *.mat files and frame your question properly. It will avoid lot of effort. All the best.
filenames={'file1.mat','file2.mat','file3.mat'};
n = numel(filenames) ;
A = zeros([],n) ;
for i = 1:numel(filenames)
load(filenames{i})
THC1= THC_sim_cum;
for j = 1:length(THC1)
A(j,i) = THC1(j);
end
end
xlswrite('e.xlsx',A)
  1 Comment
Prasad Joshi
Prasad Joshi on 19 Jan 2022
Thank you so much ankit the code work

Sign in to comment.

More Answers (2)

KSSV
KSSV on 18 Jan 2022
filenames={'file1.mat,file2.mat,file3.mat'}
for i = 1:nume1(filenames)
load(filenames{i})
THC1= THC_sim_cum ;
[filepath,name,ext] = fileparts(filenames{i}) ;
fname = [name,'.xlsx'] ;
xlswrite(fname,THC1)
end

KSSV
KSSV on 18 Jan 2022
If all the files have same dimensions, better save them into a matrix and then write into a file.
filenames={'file1.mat,file2.mat,file3.mat'}
n = numel(filenames) ;
A = zeros([],n) ;
for i = 1:nume1(filenames)
load(filenames{i})
THC1= THC_sim_cum ;
A(:,i) = THC1 ;
end
xlswrite('e.xlsx',A)
  1 Comment
Prasad Joshi
Prasad Joshi on 18 Jan 2022
Bro thank you for code but the code generated 6 different excel files ....Instead can we but all the values in same excel files any input for that ...thank you btw bro I have attached code you suggested for your information BKv400_1_THC_sim_mass_cum has matrix cells of 70381*1

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!

Translated by