将matlab数据写入的文件中,将数据一行一行的写入,或者一列一列的写入
在处理文件名时,比如src='data/src_data.txt';若要将文件名改为.csv格式,src(end-3:end)='.csv';就可以啦
1.复制文件,将一个文件从一个文件夹下复制到另一个文件夹下,比如将同一个类型的文件放到一块
wfilename=fullfile(src_dir, filename);
copyfile(file_dir, wfilename); % src_fir为目标文件的路径,filename为目标文件名, fir_dir为源文件的路径+文件名
2.将文件写入到.txt文件中,一行一行的写
fiw = fopen(wfilename, 'w');
fprintf(fiw, '%f ', xf); % xf yf zf分别为数组
fprintf(fiw, '\n ');
fprintf(fiw, '%f ', yf);
fprintf(fiw, '\n ');
fprintf(fiw, '%f ', zf);
fclose(fiw);
一行一行的写入数据,这样写有一个问题,放到txt中时,不容易看出行与行之间的切换;写到.csv中,第一行写入到了第一个单元格,第二行写入到第二列第一个单元格,而不是每个数放到一个单元格里面;
3.将有大量数据的文件按照一行一行或者一列一列的写入到.csv中
accData=[xf'; yf';zf'];% xf yf zf分别为数组,数据量很大,将其组成一个矩阵
csvwrite(wfilename,accData,0,0); % csv将一个矩阵写入到csv中,从第一行第一列的单元格开始
但是这种方式适合与事先知道要处理的数据,这种方法每个数据在一个单元格中;可以组成到需要的格式,对于动态的一列一列的写入,不知道怎么处理?
csvwrite()每次将矩阵写入到目标文件中,使用多次只能保存最后一次的;
4.将数据一行中一个一个写入,然后再写下一行; 这种方法的效果就是一行的数据都在一个单元格中。
for i=1:div:length(accData(:,1))
fprintf(fiw, '%f', accData(i,1));
end
fprintf(fiw, '\n ');
for i=1:div:length(accData(:,1))
fprintf(fiw, '%f ', accData(i,2));
end
fprintf(fiw, '\n ');
for i=1:div:length(accData(:,1))
fprintf(fiw, '%f ', accData(i,3));
end