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

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

clc clear filename = 'file.csv'; fileID = fopen(filename,'wt'); %************************************************************************** %Sample data (note sample data are transposed row, ie 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); 

当你写数字数据时,你正在擦除string,运行你的脚本到数字数据 – 它工作正常。 只需切换操作顺序 – 首先写入数字,然后写入string,它将起作用。

编辑:上面的解决scheme将无法正常工作,因为写string覆盖以前写入的数字数据,更简单,更直观的解决scheme将取代

 csvwrite(filename, d, 1); 

通过

 dlmwrite(filename, d,'-append', 'delimiter', ','); 

原来的例子