How to give range of cells different variable names?
2 views (last 30 days)
Show older comments
Hello!
I am collecting data from a range of cells from an .xlsx file using the readmatrix function as so:
Datafiles(j).data = readmatrix(Data,'Sheet','Report','Range','M18:N18','FileType','spreadsheet');
Then I populate that data into a new excel file like so:
CurrentData = {Datafiles.data}';
TABLE_Pass = table(CurrentData);
TABLE = vertcat(TABLE_Pass);
Now, my problem is, it spits out the data in 2 columns labeled "CurrentData_1" "CurrentData_2" and I want to specify the name of the second column.
When I create a second variable name, it gives me 4 columns with the information doubled.
Any tips on how to give the data 2 separate variable names?
0 Comments
Accepted Answer
Star Strider
on 12 Aug 2024
It might help to have the file.
Otherwise, conbbsider specifying the variable names as (for example):
TABLE.Properties.VariableNames = {'Variable Name 1','Variable Name 2'}
of course using the varialbe names you want to assign to them.
.
4 Comments
Star Strider
on 13 Aug 2024
I don’t know what they should be called, however this is how to change their names. Insert the correct names for ‘Column 1’ and ‘Column 2’. (In R2023b, spaces and some other special characters are permitted.)
Data = 'CurrentData.xlsx';
data = readtable(Data)
data.Properties.VariableNames = {'Column 1','Column 2'}
.
More Answers (1)
Voss
on 12 Aug 2024
Try replacing this
CurrentData = {Datafiles.data}';
TABLE_Pass = table(CurrentData);
TABLE = vertcat(TABLE_Pass);
with this
CurrentData = vertcat(Datafiles.data);
TABLE = array2table(CurrentData,'VariableNames',{'x','y'});
and replace 'x' and 'y' with the variable names you want to use.
2 Comments
Voss
on 13 Aug 2024
Don't create a cell array of 1-by-2 vectors by doing this:
CurrentData = {Datafiles.data}';
because that will lead to a table with one variable, which is a cell array of 1-by-2 vectors.
Instead, create an N-by-2 matrix by doing what I showed in my answer:
CurrentData = vertcat(Datafiles.data);
because that will lead to a table with two variables, which you can name individually.
See Also
Categories
Find more on Data Import from MATLAB in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!