Writing a cell (matlab) to a CSV file

后端 未结 1 1738
醉话见心
醉话见心 2020-12-30 10:29

How can I save this cell

    data = cell([3 2]);
    data{1,1} = \'Bla\';
    data{2,1} = \'Bla1\';
    data{3,1} = \'Bla2\';
    data{1,2} = \'2\';
    data         


        
相关标签:
1条回答
  • 2020-12-30 10:49

    I just tried this, and it worked:

    filename = 'test';
    cell2csv(filename,data)
    

    with cell2csv available as

    function cell2csv(filename,cellArray,delimiter)
    % Writes cell array content into a *.csv file.
    % 
    % CELL2CSV(filename,cellArray,delimiter)
    %
    % filename      = Name of the file to save. [ i.e. 'text.csv' ]
    % cellarray    = Name of the Cell Array where the data is in
    % delimiter = seperating sign, normally:',' (default)
    %
    % by Sylvain Fiedler, KA, 2004
    % modified by Rob Kohr, Rutgers, 2005 - changed to english and fixed delimiter
    if nargin<3
        delimiter = ',';
    end
    
    datei = fopen(filename,'w');
    for z=1:size(cellArray,1)
        for s=1:size(cellArray,2)
    
            var = eval(['cellArray{z,s}']);
    
            if size(var,1) == 0
                var = '';
            end
    
            if isnumeric(var) == 1
                var = num2str(var);
            end
    
            fprintf(datei,var);
    
            if s ~= size(cellArray,2)
                fprintf(datei,[delimiter]);
            end
        end
        fprintf(datei,'\n');
    end
    fclose(datei);
    

    I copied the code cause I am not aware if the function is any longer available on MathWorks File Exchange. But Google should help too.

    0 讨论(0)
提交回复
热议问题