フィルターのクリア

Specify format when using readtable() to read spreadsheet .xlsx?

8 ビュー (過去 30 日間)
Isabel Chen
Isabel Chen 2016 年 8 月 4 日
回答済み: Peter Perkins 2016 年 8 月 4 日
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?

採用された回答

Peter Perkins
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 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by