For loop overriding pervious data

3 vues (au cours des 30 derniers jours)
Prasad Joshi
Prasad Joshi le 18 Jan 2022
Commenté : Prasad Joshi le 19 Jan 2022
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

Réponse acceptée

Ankit
Ankit le 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 commentaire
Prasad Joshi
Prasad Joshi le 19 Jan 2022
Thank you so much ankit the code work

Connectez-vous pour commenter.

Plus de réponses (2)

KSSV
KSSV le 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
  1 commentaire
Prasad Joshi
Prasad Joshi le 19 Jan 2022
Thank you KSSV

Connectez-vous pour commenter.


KSSV
KSSV le 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 commentaire
Prasad Joshi
Prasad Joshi le 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

Connectez-vous pour commenter.

Catégories

En savoir plus sur Data Import from MATLAB 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