convert a .mat to excel file
이전 댓글 표시
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
Dyuman Joshi
2024년 4월 2일
이동: Dyuman Joshi
2024년 4월 4일
(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
2024년 4월 2일
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
2024년 4월 2일
Mathieu NOE
2024년 4월 3일
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
답변 (1개)
KSSV
2024년 4월 4일
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
ARUNIMA KUMARI
2026년 5월 19일
if the file have two columnrather than one then what to do
ARUNIMA KUMARI
2026년 5월 19일
This code is not working
Stephen23
2026년 5월 19일
"if the file have two columnrather than one then what to do"
Of course using FILEPARTS rather than indexing into the filename.
카테고리
도움말 센터 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!