Преобразовать массив строк в ячейку - PullRequest
3 голосов
/ 30 декабря 2010

Мне нужно вывести ячейку в файл Excel.Перед этим мне нужно преобразовать столбец даты целых чисел в строки даты.Я знаю, как это сделать, но я не могу поместить этот новый массив строк обратно в ячейку -

mycell = { 'AIR' [780] [1] [734472] [0.01] ; ...
           'ABC' [780] [1] [734472] [0.02]}

Я сделал это ->

dates = datestr(cell2mat(mycell(:,4))) ;

Что мне нужнов качестве ответа:

{'AIR' [780] [1] '14-Dec-2010' [0.01] ;
 'ABC' [780] [1] '23-Dec-2010' [0.03] ; }

, чтобы я мог теперь отправить его в файл Excel, используя xlswrite.m

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010
mycell = { 'AIR' 780 1 734472 0.01] ; ...
           'ABC' 780 1 734472 0.02]}

mycell(:,4) = cellstr(datestr(cell2mat(mycell(:,4))))

mycell = 

    'AIR'    [780]    [1]    '30-Nov-2010'    [0.01]
    'ABC'    [780]    [1]    '30-Nov-2010'    [0.02]
1 голос
/ 30 декабря 2010

Одной альтернативой, которая позволяет избежать преобразований, является использование функции CELLFUN :

mycell(:,4) = cellfun(@datestr,mycell(:,4),'UniformOutput',false);
%# Or an alternative format...
mycell(:,4) = cellfun(@(d) {datestr(d)},mycell(:,4));

Оба из приведенных выше дают следующий результат для вашего образца массива ячеек:

mycell = 

    'AIR'    [780]    [1]    '30-Nov-2010'    [0.0100]
    'ABC'    [780]    [1]    '30-Nov-2010'    [0.0200]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...