2016-11-16 2 views
2

Я использовал struct2table(select(...)) для импорта данных из mySQL. К сожалению, данные хранятся как это:Транспонирование столбцов таблицы, импортированных из 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) 
+0

Я не думаю, что это обман; OP здесь хочет перенести элементы в таблице, а не всю таблицу –

+0

вы можете показать пример данных с небольшим размером, например '1x5' Im не уверен, какой формат у вас есть или нужно. Является ли хранилище данных как массив в одном полевом столбце? –

+0

Да, я хочу перенести только элементы, а не всю таблицу – Mitch

ответ

1

Почему не цикл?

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

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

но, как вы уже указали, вероятно, лучше избегать этой проблемы во время импорта ... так или иначе.

+0

спасибо, эта определенная работа и до тех пор, пока нет решения на основе импорта, я буду использовать его. – Mitch

Смежные вопросы