Specify format when using readtable() to read spreadsheet .xlsx?
3 次查看(过去 30 天)
显示 更早的评论
Suppose my spreadsheet data.xlsx has a column of strings:
'abc', 'def', 'ghi'
Calling
myTable = readtable(data.xlsx)
puts each string into a cell array, like so:
{'abc'}, {'def'}, {'ghi'}.
The data cannot be accessed in the usual way, eg,
rows = myTable.Var1 == 'abc'
What I would like is each entry to be a string, without the cell-array wrapper. When I use the 'Format' option:
readtable(data.xlsx,'Format','%s'),
I get an error message:
Error using readtable (line 143).
Invalid parameter name: Format.
so it seems that the 'Format' option is not available for spreadsheets. Is this the case, or am I doing something wrong?
0 个评论
采纳的回答
Peter Perkins
2016-8-4
Cell arrays are the standard way to store strings in MATLAB. You may or may not be asking about character matrices, but you really don't want to be using those. Seeing myTable.Var1 == 'abc' in your post makes me think you may be asking about categorical arrays. It's easy to convert a cell array of strings to categorical, but you can't read directly to categorical from a spreadsheet.
0 个评论
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Spreadsheets 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!