MATLAB读取txt文本文件,整理后,每列按不同数据精度输出到txt文本文件中

时间:2024-05-21 21:31:51

昨天吃饭接到数据处理任务,从txt中删除一些列,需求简单,但对于我一个代码小白来说,很难。

因为用matlab比较多,之前也用matlab处理过txt文件(读取,然后在matlab里处理,不需要输出),

我就在想我先将数据读取到matlab,然后将自己需要的列组成了矩阵,输出到txt中

1.读取

[time,CO2, PM25, PM10, H2S,SO2, NO2, O3, CO, VOC,Tep,Humidity,Airp,lat,lon,height] = textread('园区.txt','%f %f %f %f... %f %f %f %f %f %f %f %f %f %f %f %f','headerlines',1);

用txtread读取,'headerlines',1代表跳过第一行(标题行)读取数据

2.新矩阵

y=[time,PM25,PM10,SO2,VOC,Tep,Humidity,Airp,lat,lon,height];

组成一个矩阵

3.输出

[m,n]=size(y);
for i=1:1:m
    fprintf(fid,'%d %d %d %d %.3f %05.1f %05.1f %d %f %f %.3f\n',y(i,:));
end
fclose(fid);

每行输出,然后可以设置每列的数据精度。

 

每个元素输入:

fid=fopen('D:\新建文件夹\数据\0.txt','w');%写入文件路径
a=int8(dd);
[m,n]=size(a);
 for i=1:1:m
    for j=1:1:n
       if j==n
         fprintf(fid,'%g\r\n',a(i,j));
      else
        fprintf(fid,'%g',a(i,j));
       end
    end
end
fclose(fid);

参考:MATLAB-txt读取,输出txt(以矩阵形式)

 

关于数据精度

参考:Matlab学习手记——特定格式输出

这里要注意一点:小数点也要算一位

MATLAB读取txt文本文件,整理后,每列按不同数据精度输出到txt文本文件中