Data types in TABLE

1 view (last 30 days)
I create a TABLE with different data types.
For example :
sz = [1 6];
vartypes = ["string" "categorical" "categorical" "categorical" "double" "double"];
noms = ["Screening" "Rando" "Side" "Treatment" "CS_T0" "CS_T1"];
data = table('Size', sz , 'VariableTypes' , vartypes, 'VariableNames', noms);
% ...
% Some processing
% ...
writetable(data, 'Résultats.xlsx');
If I understand correctly, I lose necessarily data types when I use writetable. Everything becomes either double or cellstr.
I know that I can overcome this limitation with detectImportOptions or Import Tool but you confirm that there is no way to find types automatically (just with information stored in the xlsx file) ?
A last question with no direct connection, why data types are not stored by default in the properties of the table ?
I find unnatural to get out of the class with varfun(@class,data) to obtain this information.
Thank in advance.
SAINTHILLIER Jean Marie

Accepted Answer

Walter Roberson
Walter Roberson on 8 Mar 2024
Excel itself recognizes:
  • numbers (including dates)
  • text
  • logical
  • error such as #VALUE!
Excel is unable to distinguish between character and string, and has no concept of categorical.

More Answers (0)

Categories

Find more on Tables in Help Center and File Exchange

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!