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.

回答 (3 件)

Geoff Hayes
Geoff Hayes 2014 年 11 月 25 日

2 投票

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

4 件のコメント

Damith
Damith 2014 年 11 月 25 日
Thanks. I need to write the output to a .csv file though.
Geoff Hayes
Geoff Hayes 2014 年 11 月 25 日
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 2014 年 11 月 25 日
Thanks. This works.
Akhil Narayanan
Akhil Narayanan 2022 年 1 月 14 日
thanks

サインインしてコメントする。

Walter Roberson
Walter Roberson 2022 年 1 月 14 日

1 投票

These days, use writecell()
D. benoy
D. benoy 2014 年 11 月 26 日

0 投票

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 件のコメント

Damith
Damith 2014 年 11 月 26 日
Thanks. I know. But the previous method is more efficient.
Preston Dial
Preston Dial 2018 年 7 月 25 日
I am getting the same error from the xlswrite function for one of my projects
Devansh Deepak Patel
Devansh Deepak Patel 2020 年 8 月 12 日
me too

サインインしてコメントする。

質問済み:

2014 年 11 月 25 日

回答済み:

2022 年 1 月 14 日

Community Treasure Hunt

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

Start Hunting!

Translated by