Is it possible to have a column data with some numerical values and some strings?
Show older comments
I have some really large data with millions of rows. I would have a column with 95% of them being numerical and 5% being strings. For example:
A = [53; 6; 77; 26b; 47; d33; 2; 5; c4; 77; 6];
As you know, in Matlab, A would be stored as a string column. Here is the problem, when I export them into Excel, you would see an error (yellow arrow) saying numer stored as a text. I would have to go through the entire column to click "convert to number", so as to remove these errors.
So how do I store the column data A so that some of them will be numerical and some of them will be strings. Here is what I did:
B = str2double(A); % strings will be converted to NaN
Ind = ~isnan(B); % only identify rows that are not NaNs
A(Ind) = str2double(A(Ind)); % only convert strings that can be converted to numerical values to numerical.
Theoretical it will work. Unfortunately, Matlab will store all vallues of A as strings again.
Anyone knows how to solve this issue?
2 Comments
Fangjun Jiang
on 4 Dec 2020
Did you try cell array? A={53; 6; 77; '26b'; 47; 'd33'; 2; 5; 'c4'; 77; 6}
Leon
on 4 Dec 2020
Accepted Answer
More Answers (0)
Categories
Find more on Data Type Conversion in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!