转置从mySQL导入的表的列

时间:2016-11-16 13:25:01

标签: mysql matlab

我使用struct2table(select(...))从mySQL导入数据。 不幸的是,数据存储如下:

       A                  B
______________      ______________
[1x500 double]      [1x500 dobule]

我想转置表条目,看起来像这样:

       A                  B       
______________      ______________
[500x1 double]      [500x1 double]

我需要更改它,因为我想添加RowNames,它只在条目转置时才有效。

我可以使用transpose(),但我必须这么做很多次,而且我正在寻找能够将整个表作为输入并以所需方式转换它的内容。

我尝试了flip()rot90()table',但都没有效果。

也许在导入过程中有一种方法可以避免这个问题,但我不知道如何。对这两方面的提示都非常感激。

1x5样本如下所示:

                  area
______________________________________________
6.8452    5.3581    3.2842   60.0434   15.5756    
(Columns 1 through 5)

                            inhabitants
_________________________________________________________________
11672        9136        5600      102379       26558       41437
(Columns 1 through 5)

1 个答案:

答案 0 :(得分:1)

为什么不循环?

newTable = table();
for ii = 1:size(oldTable,2)
     newTable{:,ii} = oldTable{:,ii}.'; end

newTable.Properties.VariableNames = oldTable.Properties.VariableNames;

但是,正如您已经指出的那样,在导入过程中可能最好避免这个问题...不知何故。