Issue with readtable() reading strings
103 次查看(过去 30 天)
显示 更早的评论
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 个评论
回答(3 个)
Walter Roberson
2022-9-27
filename = 'as appropriate';
opt = detectImportOptions(filename);
opt = setvartype(opt, 'Note', 'char');
T = readtable(filename, opt)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!