Trying to export data from .mat file to excel
조회 수: 3 (최근 30일)
이전 댓글 표시
Greetings all,
I have a large data set in .mat file (18 columns and more then 4 million rows), the data consists of numbers, dates, characters and NaN cells,
my code is as follows,
data=load('rtd.mat');
fn=fieldnames(data); %get all variable names
assert(numel(fn)==1); %assert there is only one variable in your mat, otherwise raise error
firstdiff = data.(fn{1}); %get the first variable
xlswrite('File.xlsx', firstdiff); %write it%Z
i get an error of
(Error using xlswrite (line 170)
Input data must be a numeric, cell, or logical array.)
Appreciate your support
답변 (1개)
Aritra
2023년 1월 30일
Hi,
As per my understanding you are trying to export the data from a .mat file to an excel. However, the .mat file contains fields with ‘NAN’ values which results in the following error:
(Error using xlswrite (line 170)
Input data must be a numeric, cell, or logical array.)
Excel fails to interpret the NaNs in a numberic matrix.
To write a matrix with NaNs to an Excel file, the NaN values must be explicitly written as strings like 'NaN'. To achieve the same, you can convert your data matrix to a cell and replace all NaNs with 'NaN' before writing to Excel as shown below:
A = load(<filename.mat>);
B = num2cell(A);
B(isnan(A)) ={'NaN'};
xlswrite(filename,B);
댓글 수: 2
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!