How to insert a cell with string into a table as variable

I have a cell B of 1x59 strings in it and i want to insert it into a table T as variable names
When am using the command
T.VariableNames.Properties = B; am getting the following error
"The VariableNames property is a cell array of character vectors. To assign multiple variable names, specify names in a
string array or a cell array of character vectors."
I checked multiple times by checking whether the cell is str from command iscellstr and it returns me 1.
Can anyone please help how to solve this problem

1 Comment

You cannot use a cell array of strings. You need to use a cell array of character vectors, or you need to use a non-scalar string() array.

Sign in to comment.

 Accepted Answer

The solution is inside the error message:
  1. B is a cell array of strings
  2. specify names in a string array or
  3. cell array of character vectors
What you have is 1. and what you need is either 2. or 3.
A = {"Name1", "Name2", "Name3"}
A = 1×3 cell array
{["Name1"]} {["Name2"]} {["Name3"]}
A_new = [A{:}]
A_new = 1×3 string array
"Name1" "Name2" "Name3"

7 Comments

Am converting the cell to character vectors by using the command cellstr(B); But still the same error is showing,i tried your method as well but still the same error message
can you provide the code you are using?
Am using the following code
clc;
clear all;
[fname,fpath] = uigetfile({'*.xls';'*.xlsx'});
[num,txt,raw] = xlsread( fullfile(fpath,fname),'Sheet1' );
T=array2table(num);
B= cellstr(txt);
T.Properties.VariableNames= B;
Please find the code that am using
Could you also attach the data needed to run the code?
txt will already be a cell array of character vectors (unless possibly if it is empty).
Could you remind us which MATLAB release you are using?
Thanks for the answers,i was able to find the solution i checked my cells with isvarname and some of the cells were having dots in between which i removed and now its working fine ,thanks
Variable names with dots in them are permitted, R2019b and later (if I remember correctly.) You did not happen to indicate which release you are using.

Sign in to comment.

More Answers (0)

Categories

Community Treasure Hunt

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

Start Hunting!