readcell is filling cell locations with "1x1 missing"
Mostrar comentarios más antiguos
I am using R2109a and it is recommended to use readcell instead of xlsread. Readcell is slower than xlsread and it is returning "1x1 missing" instead of an empty cell when reading an .xlsx file. I don't know what logical I can use to remove these cell locations without brute forcing the problem. Does anyone else know what I can do to fix this?
2 comentarios
Josef Shaoul
el 11 de En. de 2020
The other answers did not work for me. readtable was very slow, and the cellfun(missing...) solution gave empty columns.
The simple, stupid solution is use readcell (faster than xlsread) and just a double loop over the raw cell data to convert <missing> to NaN. That yielded the same result as xlsread.
Would be ven better if the next version would restore the result from xlsread to readcell, because now the cell array that is imported cannot be saved again in an Excel file!
Stephan Piotrowski
el 21 de En. de 2022
@Josef Shaoul I experienced extremely slow readtable, but found that calling it as readtable(input,'basic',true) greatly improved the performance.
Respuesta aceptada
Más respuestas (1)
Jon Martinez
el 4 de Jun. de 2019
I've had the same problem reading a CSV file and managed to substitute all missing cells with this command:
your_file = readcell(your_path);
your_file(cellfun(@(x) any(ismissing(x)), your_file)) = {''};
The cellfun command will give you a logical array that mantains the structure of the original cell array. Hope it helps.
Categorías
Más información sobre Spreadsheets en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!