代码编织梦想

将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    

 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 本文链接: https://blog.csdn.net/yanhuatangtang/article/details/108264095