convert a .mat to excel file
Mostrar comentarios más antiguos
Hello, I have so many .mat files that I want to convert them to excel.
the first one (If I want to do one by one) name is A_Q1S1.mat.
What is the correct code for that?
4 comentarios
Dyuman Joshi
el 2 de Abr. de 2024
Movida: Dyuman Joshi
el 4 de Abr. de 2024
(Assuming single data set in each file)
Refer to this link to see how to read data from files in a sequence - https://in.mathworks.com/help/matlab/import_export/process-a-sequence-of-files.html
Mathieu NOE
el 2 de Abr. de 2024
hello
t would be nice to have a few files to know how the names are structured and what is the data inside (and what we need to retrieve)
a general approach could look like :
fileDir = pwd; % current directory (or specify which one is the working directory)
S = dir(fullfile(fileDir,'Data*.mat')); % get list of data files in directory
% optionnal robust file name sorting (if needed)
S = natsortfiles(S); % sort file names into natural order , see :
%(https://fr.mathworks.com/matlabcentral/fileexchange/47434-natural-order-filename-sort)
for k = 1:length(S)
filename = S(k).name % to actually show filenames are sorted (see command window)
data = load( fullfile(fileDir, filename)); % output structure
% store out_data in excel file
out_data = [data.Field. ....]; % here extract data from output structure
outfile = [filename(1:length(filename)-4) '.xlsx']; % output file name
writematrix(out_data,fullfile(fileDir,outfile));
end
mehra
el 2 de Abr. de 2024
Mathieu NOE
el 3 de Abr. de 2024
ok , we don't need any special approach for loading your different mat files
but what we miss here is :
- what data you have stored in the mat files ,
- which elements you want to export to excel
if you could share a couple of mat files ,that would be great
Respuestas (1)
KSSV
el 4 de Abr. de 2024
matFiles = dir('*.mat') ;
N = length(matFiles) ;
T = table;
for i =1:N
load(matFiles(i).name) ;
T.(i) = val ; % I assume each mat file has a variable "val" which is single column of same size
end
writetable(T,'Test.xlsx')
3 comentarios
ARUNIMA KUMARI
el 19 de Mayo de 2026 a las 10:33
if the file have two columnrather than one then what to do
ARUNIMA KUMARI
el 19 de Mayo de 2026 a las 10:42
This code is not working
Stephen23
el 19 de Mayo de 2026 a las 10:50
"if the file have two columnrather than one then what to do"
Of course using FILEPARTS rather than indexing into the filename.
Categorías
Más información sobre Spreadsheets en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!