Trying to export data from .mat file to excel
2 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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
Risposte (1)
Aritra
il 30 Gen 2023
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 Commenti
Vedere anche
Categorie
Scopri di più su Spreadsheets in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!