2016-11-16 96 views
2

我用struct2table(select(...))从mySQL导入数据。 不幸的是,数据存储是这样的:转置从mySQL导入的表的列

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

我要转表项,所以它看起来是这样的:

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

我需要改变它,因为我想补充RowNames和它只有在条目转置时才有效。

我可以使用transpose()但我必须做很多次,我正在寻找一些将整个表格作为输入并以所需方式转换的东西。

我试过flip()rot90()table'但既不工作。

也许有一种方法可以在导入过程中避免此问题,但我不知道如何。有关提示都非常感谢。

一个1×5样本如下:

    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) 
+0

我不认为这是一个骗局;这里的OP想要转置表格中的元素,而不是整个表格 –

+0

可以显示小尺寸的示例数据,比如'1x5'我不确定你有或没有需要的格式。数据存储是否像一个字段列中的数组一样? –

+0

是的,我只想转置元素,而不是整个表 – Mitch

回答

1

为什么不循环?

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

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

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

+0

谢谢,这definitety的作品,只要没有基于导入的解决方案,我会使用它。 – Mitch