Matlab how to export text and numeric data to excel csv file?

When I use the code below. I get numerical data exported correctly, but the first row is empty when there should be headers (headers) in the first row of each column. Any solutions?

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); 
+4
source share
1 answer

You delete lines when writing numeric data, run your script only up to numeric data - it works fine. Just switch the order of operations - first write down the numbers, and then write the lines, it will work.

EDIT: The solution above will not work, because writing a line overwrites previously written numeric data, a simpler and more intuitive solution would be to replace

 csvwrite(filename, d, 1); 

by

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

in the original example

+5
source

All Articles