MATLAB Answers


How to write only non-NaN columns into Excel

Asked by Leon
on 15 Oct 2019
Latest activity Edited by Leon
on 16 Oct 2019
Below is my code to write these column data into an Excel spreadsheet using the writetable command:
T1 = table(Cruise, EXPOCODE, Station_no, Lon, Lat, Year, Month, Day, Time, Pressure, Depth, ...
Temperature, Temperature_flag_W, Salinity, Salinity_flag_W, CTDOXY, CTDOXY_flag_W, OXYGEN, OXYGEN_flag_W, ...
DIC, DIC_flag_W, TA, TA_flag_W, pH_insitu, pH_flag_W, pCO2_insitu, pCO2_flag_W, CO3_insitu, CO3_flag_W, ...
Silicate, Silicate_flag_W, Phosphate, Phosphate_flag_W, Nitrate, Nitrate_flag_W, ...
NitrateNitrite, NitrateNitrite_flag_W, Nitrite, Nitrite_flag_W, Ammonium, Ammonium_flag_W);
File_W = ['outputs/', app.File.Value, '.xlsx'];
writetable(T1, File_W)
The thing is that sometimes an entire column could be made up of NaNs or missing value indicators, -999. How do I write a program, so that it will only use the variables that have at least one real value into the final Excel file? If a column is composed of either NaN or -999 values, the entire column, as well as its corresponding flag column (made up of numerical number 5), should not appear in the generated Excel file.
Many thanks!


Sign in to comment.





1 Answer

Answer by Andrei Bobrov
on 15 Oct 2019
Edited by Andrei Bobrov
on 15 Oct 2019

T_in_Excel = T1(:,any(~isnan(T1{:,:})));
writetable(T_in_Excel, File_W)


Many thanks!
How do I drop their corresponding flag columns then? When an entire colum is made of NaNs, its corresponding flag column would be a column data made of the numeric number 5.
I'm fix.
As a reminder, would you please help me with the flag column as well?
Many thanks!

Sign in to comment.