2010-12-30 6 views
3

Je dois sortir une cellule dans un fichier Excel. Avant cela, j'ai besoin de convertir une colonne de date d'entiers en datestrings. Je sais comment faire cela, mais je ne suis pas en mesure de mettre ce nouveau tableau de chaîne dans la cellule -Convertir un tableau de chaînes en cellule

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

Je l'ai fait ->

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

Ce que j'ai besoin d'une réponse est :

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

pour que je puisse maintenant l'envoyer à un fichier Excel à l'aide xlswrite.m

Répondre

3
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] 
+0

Merci Zellus! - Maddy – Maddy

1

Une alternative qui évite les conversions est d'utiliser la fonction CELLFUN:

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

les deux ci-dessus donnent le résultat suivant pour votre réseau de cellules de l'échantillon:

mycell = 

    'AIR' [780] [1] '30-Nov-2010' [0.0100] 
    'ABC' [780] [1] '30-Nov-2010' [0.0200] 
Questions connexes