Issue with readtable() reading strings
109 views (last 30 days)
Show older comments
I'm trying to use readtable() to read in a table of numbers and strings.
If the column of strings has more than half that are "0" or "1" readtable seems to treat the whole column as integer. The data is in the following format:
Start,End,Event,Note
123450000,123450001,ABC,"Event One"
123450001,123450002,DEF,"0"
123450002,123450003,GHI,"1"
If I have 50 rows like this and more than 1/2 have just the "0" or "1" format verus "Event One", even with the quotes and even with adding a format specifier to readtable, it still wants to treat those as integers and gives an error when I try to do a string operation on that 4th column. Shouldn't readtable behavior be if there are any nonintegers then the column is string? Or at least if it sees the double quotes treat it as string? This seems like a bug in readtable.
0 Comments
Answers (3)
Walter Roberson
on 27 Sep 2022
filename = 'as appropriate';
opt = detectImportOptions(filename);
opt = setvartype(opt, 'Note', 'char');
T = readtable(filename, opt)
See Also
Categories
Find more on Logical 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!