2016-11-16 77 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