Reorder table variables / columns
显示 更早的评论
I've created a table from a large csv file using the readtable function. I want to reorder the variables / columns in this table.
For example.
My table's name is CUTable
It has a variable CUTable.Date which is the date the data was taken It is currently column 20 in the table. I want to make it column 2 and shift existing columns 2-19 to 3-20.
It seems there should be a very easy command to do this which I'm missing, but I can't seem to find it anywhere in the help or these forums. I could, but don't want to "brute force" it (e.g. create a new table, and one-by-one copy the variables from the exiting table to the new table in the order I want, then delete the old table) if avoidable.
How can I accomplish this?
采纳的回答
更多回答(2 个)
Eric Sofen
2018-3-28
9 个投票
In R2018a, check out the new movevars function for rearranging variables in tables. It's part of a set of new functions for manipulating table variables:
1 个评论
xingxingcui
2023-11-17
add topic link:
Ben Oeveren
2018-2-21
编辑:Ben Oeveren
2018-2-21
Or you can use:
oldvariables = T.Properties.VariableNames;
newvariables = {'date','Title','Website'};
[~,LOCB] = ismember(oldvariables,newvariables);
newTable = T(:,LOCB);
1 个评论
Justin Elstrott
2021-1-13
Hi Ben,
I like this solution, but there's a typo in the third line. I believe it should read as:
oldvariables = T.Properties.VariableNames;
newvariables = {'date','Title','Website'};
[~,LOCB] = ismember(newvariables,oldvariables);
newTable = T(:,LOCB);
类别
在 帮助中心 和 File Exchange 中查找有关 Data Type Identification 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!