matlab,如何将文本和数值数据导出到excel csv文件?

时间:2013-01-04 22:18:00

标签: excel matlab text csv export

当我使用下面的代码时。我得到了正确导出的数值数据,但是当每列的第一行应该有标题(标题)时,第一行是空白的。任何解决方案?

clc 
clear

filename = 'file.csv'; 
fileID = fopen(filename,'wt');
%**************************************************************************
%Sample data (note sample data are transposed row, i.e. columns) 

sample1 = [1,2,3,4]';
sample2 = [332.3, 275.8, 233.3, 275]';
sample3 = [360, 416.7, 500, 360]';
sample4= [-0.9, -0.9, -0.9, -0.9]';
sample5 = [ 300000, 0, 0, 0]';

A ={'text1','text2', 'text3', 'text4', 'text5'}; %'

%***************************************************************************
%write string to csv

[rows, columns] = size(A);
for index = 1:rows    
    fprintf(fileID, '%s,', A{index,1:end-1});
    fprintf(fileID, '%s\n', A{index,end});
end 

fclose(fileID);

%***************************************************************************
%write numerical data to csv

d = [sample1, sample2, sample3, sample4, sample5];

csvwrite(filename, d, 1);

1 个答案:

答案 0 :(得分:5)

您在编写数字数据时正在擦除字符串,只需运行您的脚本数字数据 - 它工作正常。只需切换操作顺序 - 首先写入数字,然后写入字符串,它就可以工作。

编辑: 上面的解决方案不起作用,因为写入字符串会覆盖以前编写的数字数据,更简单,更直观的解决方案将取代

csvwrite(filename, d, 1);

通过

dlmwrite(filename, d,'-append', 'delimiter', ',');
原始示例中的