Write a cell array to a .csv file

Hi,
I have a cell array "newdata" as shown below.
'01/01/2001' 0
'02/01/2001' 0
'03/01/2001' 0
'04/01/2001' 0
'05/01/2001' 14.1000000000000
'06/01/2001' 0
'07/01/2001' 0
I need to write this to a .csv file. So, I used the following code to do that.
csvwrite('110416.csv',newdata(:,1:2));
But, I got the following error.
Error using dlmwrite (line 112)
The input cell array cannot be converted to a matrix.
Error in csvwrite (line 42)
dlmwrite(filename, m, ',', r, c);
Can somebody suggest me a different way or how to correct this.?
Thanks in advance.

Answers (3)

Geoff Hayes
Geoff Hayes on 25 Nov 2014
Damith - see Export Cell Array to Text File which uses fprintf to write each row of your cell array to file.

4 Comments

Thanks. I need to write the output to a .csv file though.
You can still do that - csv or text file it is more or less the same. For example,
fid = fopen('110416.csv','wt');
if fid>0
for k=1:size(newdata,1)
fprintf(fid,'%s,%f\n',newdata{k,:});
end
fclose(fid);
end
Thanks. This works.

Sign in to comment.

Hi,
If you have EXCEL on your computer you can do the following instead
xlswrite('110416.xls',y);
Open 110416.xls and save it as a csv file.

3 Comments

Thanks. I know. But the previous method is more efficient.
I am getting the same error from the xlswrite function for one of my projects

Sign in to comment.

Asked:

on 25 Nov 2014

Answered:

on 14 Jan 2022

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!