如何用Matlab将cell数据写入文件

时间:2023-03-09 16:22:15
如何用Matlab将cell数据写入文件

我们知道,一般的文件读写函数是不接受直接将cell内容(非数值)直接写入文件的,

例如:dlmwrite('o.txt', C, 'delimiter', '\t');%C 为cell类型数据,会报错

C=:

'tim' 'space' 'ss'
'ddsa' 'sd' 'as'
'as' 'w' 'r'

那么假如我们只想写入C的第一列和第二列的数据到文件中,怎么办?

下面用比较原始(ben)的方法来实现:

clc
clear all
%这里换成源文件路径
fname = 'E:\r.xls';
[x_c y_c] = xlsread(fname);
%这里换成输出文件路径
fid = fopen('E:\o.txt','wt');
for i = 1:size(y_c,1)
fprintf(fid,'%s\t%s\n',y_c{i,1},y_c{i,2});
end
fclose(fid);

值得注意的是,如果fopen打开格式是‘w'类型,那么'\n',在记事本中打开不显示换行,原因是matlab默认打开格式是以二进制的方式打开的,而记事本是以Unicode的方式打开,故,如果要显示,选择fopen的打开方式为’wt'类型。