MATLAB Answers

How to write only non-NaN columns into Excel

2 views (last 30 days)
Leon on 15 Oct 2019
Edited: 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.

Answers (1)

Andrei Bobrov
Andrei Bobrov on 15 Oct 2019
Edited: Andrei Bobrov on 15 Oct 2019
T_in_Excel = T1(:,any(~isnan(T1{:,:})));
writetable(T_in_Excel, File_W)


Leon on 15 Oct 2019
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.
Leon on 16 Oct 2019
As a reminder, would you please help me with the flag column as well?
Many thanks!

Sign in to comment.





Translated by