Writetable logical table to excel as zeros and ones

4 visualizaciones (últimos 30 días)
Hi,
I have a large table containing only logicals. If I use writetable to write the table to a csv file, it writes ones and zeros. That's what I want.
% masks.accepted a table with only logicals
filterdump_file = fullfile(capmat_out_folder, "filterdump.csv");
writetable(masks.accepted, filterdump_file);
But if have write the exact same table to an excel file, it writes "true" and "false".
% masks.accepted a table with only logicals
capmat_out_file = fullfile(capmat_out_folder, strcat(capmat_file_basename, "_out.xlsx"));
writetable(masks.accepted, capmat_out_file, "Sheet", "Filter Dump", "AutoFitWidth",false);
Why does writetable write ones and zeros to a csv file, and "true" and "false" to an excel file? Besides that, writing to a csv file is done in a few seconds, but writing to an excel file takes like 10+ mins. How can I get matlab/writetable to write ones and zeros to an excel file?
Thanks in advance

Respuesta aceptada

Erwin Werkhoven
Erwin Werkhoven el 6 de Feb. de 2023
print_accepted = convertvars(masks.accepted, @islogical, 'uint8');

Más respuestas (1)

Walter Roberson
Walter Roberson el 30 de En. de 2023
Write out double() of the logical array.
  2 comentarios
Erwin Werkhoven
Erwin Werkhoven el 6 de Feb. de 2023
I don't think that works, since mask.accepted is not a logical array but a table.
Erwin Werkhoven
Erwin Werkhoven el 6 de Feb. de 2023
Looks like this does the job:
print_accepted = convertvars(masks.accepted, @islogical, 'uint8');

Iniciar sesión para comentar.

Productos


Versión

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by