readtable truncates rownames if using ReadRowNames

조회 수: 10 (최근 30일)
cmo
cmo 2015년 9월 14일
댓글: Ed Shen 2023년 5월 24일
One of the options for "readtable" is "ReadRowNames".
Apparently, when "ReadRowNames" is true, Matlab silently truncates the length of rownames to a maximum of 63 characters.
However, if you manually assigned row names to a table in Matlab, they can be of arbitrary length. (e.g. myTable.Properties.RowNames = cellArrayOfVeryLongStrings works and does not truncate row names.)
No warning is given, and this "feature" is not mentioned in any documentation or Matlab tutorial on Tables.
Note that Matlab issues various warnings when, say, Variable Names for table are too long, non-unique, contain invalid characters, etc. The crime here is that Matlab automatically "formats" incoming rownames in "readtable" without any warning or notification.

채택된 답변

Peter Perkins
Peter Perkins 2015년 9월 15일
cmo, you are correct, thank you for finding this bug. I will make a note to have it fixed. For the time being, you can read in the file with ReadRowNames set to false, and then assign the row names and delete the string variable.
Just out of curiosity, what names do you have that are more than 63 characters?
  댓글 수: 5
Steven Lord
Steven Lord 2023년 3월 28일
@Julan Prasad What release of MATLAB are you using? I suspect this is Bug Report 1295146 which is listed as affecting releases R2014a through R2015b and having been fixed in release R2016a. If you're using one of the affected releases, try upgrading to release R2016a or later.
Ed Shen
Ed Shen 2023년 5월 24일
I'm using 2021b and I'm still seeing this issue.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by