如何将我的数据导出到CSV?

时间:2017-09-07 22:15:34

标签: matlab export-to-csv

Matlab帮助:我正在尝试将所有50个点导出为CSV。如何在每次迭代后附加csv文件?

 %import csv file

    filename = 'Q:\Electroporation\raw_works.csv';
    delimiter = ',';
    startRow = 2;
    %% Format for each line of text:
    formatSpec = '%s%f%f%f%f%f%f%f%f%f%[^\n\r]';
    %% Open the text file.
    fileID = fopen(filename,'r');
    %% Read columns of data according to the format.
    dataArray = textscan(fileID, formatSpec, 'Delimiter', delimiter, 'TextType', 'string', 'HeaderLines' ,startRow-1, 'ReturnOnError', false, 'EndOfLine', '\r\n');

    %% Close the text file.
    fclose(fileID);
    %% Create output variable
    rawworks = table(dataArray{1:end-1}, 'VariableNames', {'Name','One','Two','Three','Four','Five','Six','Seven','Eight','Nine'});
    %% Clear temporary variables
    clearvars filename delimiter startRow formatSpec fileID dataArray ans;

到目前为止MATLAB中的数据。

% store data into a variable
    table= rawworks;
    array=str2double(table2array(table)); % convert to array
    ss= size(array) 
    N= ss(1)
    ones=ones(50,14);
    xls=zeros(50,14);

现在我进行数学运算

    for i= 1:N 
        A=[array(i,2) array(i,3) array(i,4);array(i,5) array(i,6) array(i,7);array(i,8) array(i,9) array(i,10)];

       %diognalize
        [U,S,V]=svd(A);
        P1=S(1,1);
        P2=S(2,2);
        P3=S(3,3);

%output data
          data_for_excel_file=[A(1,1) A(1,2) A(1,3) A(2,1) A(2,2) A(2,3) A(3,1) A(3,2) A(3,3) P1 P2 P3 P1/P2 P1/P3 ]

这里是我遇到问题的地方。如何将csvwrite附加到%file的末尾。目前,它只写出最后的结果,而不是全部50个。

      csvwrite('Diognalized_output.csv',data_for_excel_file,1)  %HELP

    end

1 个答案:

答案 0 :(得分:0)

如果您可以使用更通用的函数dlmwrite,则可以使用其-append标志每次将输出添加到文件末尾。

更改您的最后一行
csvwrite('Diognalized_output.csv',data_for_excel_file,1) 

 dlmwrite('Diognalized_output.csv,data_for_excel_file,'-append')

dlmwrite的默认分隔符是逗号(,),因此您可以在此处获得相同的输出格式。