Home > Codi > cell2csv.m

cell2csv

PURPOSE ^

Guarda un cell a un fitxer en format CSV.

SYNOPSIS ^

function cell2csv(fileName, cellArray, separator)

DESCRIPTION ^

 Guarda un cell a un fitxer en format CSV.

Parametres d'entrada:

       fileName - String amb ruta i noom del fitxer a on es vol guardar el
                  cell


       cellArray - Un cell amb strings, logicals o valors numerics que
                   volem guardar al fitzer en format CSV. el cell ha de
                   tenir maxim 2 dimencions la primera els valors es
                   separaran amb el caracter indicat a separator i a la
                   segona amb \r\n

       separator - Caracter que s'utilitzara per separar els elements de
                   la primera dimenció

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function cell2csv(fileName, cellArray, separator)
0002 % Guarda un cell a un fitxer en format CSV.
0003 %
0004 %Parametres d'entrada:
0005 %
0006 %       fileName - String amb ruta i noom del fitxer a on es vol guardar el
0007 %                  cell
0008 %
0009 %
0010 %       cellArray - Un cell amb strings, logicals o valors numerics que
0011 %                   volem guardar al fitzer en format CSV. el cell ha de
0012 %                   tenir maxim 2 dimencions la primera els valors es
0013 %                   separaran amb el caracter indicat a separator i a la
0014 %                   segona amb \r\n
0015 %
0016 %       separator - Caracter que s'utilitzara per separar els elements de
0017 %                   la primera dimenció
0018 
0019 
0020 %separador de decimal que utilitzem
0021 decimal = '.';
0022 
0023 
0024 %% Write file
0025 datei = fopen(fileName, 'a');
0026 
0027 for z=1:size(cellArray, 1)
0028     for s=1:size(cellArray, 2)
0029         
0030         var = eval('cellArray{z,s}');
0031         % If zero, then empty cell
0032         if size(var, 1) == 0
0033             var = '';
0034         end
0035         % If numeric -> String
0036         if isnumeric(var)
0037             var = num2str(var);
0038             % Conversion of decimal separator (4 Europe & South America)
0039             % http://commons.wikimedia.org/wiki/File:DecimalSeparator.svg
0040             if decimal ~= '.'
0041                 var = strrep(var, '.', decimal);
0042             end
0043         end
0044         % If logical -> 'true' or 'false'
0045         if islogical(var)
0046             if var == 1
0047                 var = 'TRUE';
0048             else
0049                 var = 'FALSE';
0050             end
0051         end
0052         
0053         if strcmp(var,'\r\n')
0054             fprintf(datei,'\r\n');
0055         else
0056             
0057             % OUTPUT value
0058             fprintf(datei, '%s', var);
0059             
0060             % OUTPUT separator
0061             if s ~= size(cellArray, 2)
0062                 fprintf(datei, separator);
0063             end
0064         end
0065     end
0066     if z ~= size(cellArray, 1) % prevent a empty line at EOF
0067         % OUTPUT newline
0068         fprintf(datei, '\r\n');
0069     end
0070 end
0071 % Closing file
0072 fclose(datei);
0073 % END
0074 
0075 
0076

Generated on Wed 12-Sep-2012 13:03:54 by m2html © 2005