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.

Risposte (3)

Geoff Hayes
Geoff Hayes il 25 Nov 2014

2 voti

Damith - see Export Cell Array to Text File which uses fprintf to write each row of your cell array to file.

4 Commenti

Damith
Damith il 25 Nov 2014
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
Damith
Damith il 25 Nov 2014
Thanks. This works.
thanks

Accedi per commentare.

D. benoy
D. benoy il 26 Nov 2014
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 Commenti

Damith
Damith il 26 Nov 2014
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

Accedi per commentare.

Richiesto:

il 25 Nov 2014

Risposto:

il 14 Gen 2022

Community Treasure Hunt

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

Start Hunting!

Translated by