MATLAB读取文件夹中的所有文件并按照一定的格式读取txt文件写入新的文件

MATLAB读取文件夹中的所有文件并按照一定的格式读取txt文件写入新的文件


最近需要写一个matlab对txt和的循环,之前每次写这类似的程序,都需要在各个网站上查找半天。我觉得这样比较费时间,这次就一把可能用到的函数和程序都放到这里,已被日后需要时拿来查验,也希望能对各位看官有所帮助和借鉴。

这里想要用matlab实现的三个功能分别是,1. 循环读取一个文件夹下的所有文件。2.按照一定的格式读取txt中的文件,并赋值给一个变量。3.将一组数据以一定的格式保存到某个txt文件中去。

1.循环读取一个文件夹下的所有文件

如果我们想知道某个文件夹下的所有文件,我们会用到 dir这个函数。

path = '.\heat_map\'; %想要查看的文件夹的路径
file = dir(path);  %构建了一个结构体,file,里面存放了该文件夹下的所有信息
len = size(file, 1); % 判断文件夹下文件的数量。

需要注意的是len中的文件夹数量比实际的数量要多2个,也就是真正的文件夹中的内容是从3开始的。

for i =3:1:len
    file(i).name
end

就可以将该文件夹下的所有文件名读取并打印出来了。

2.按照一定的格式读取txt中的文件,并赋值给一个变量

现在是如何按照一定的顺序去读取txt中的数据呢?我存在txt中的数据格式是‘***,***,***,***’这样的,我想将其一共分成四列,分别存放在不同的变量中,并以逗号分开。

 name_all = [path,se_name,'\response_max_min.txt']; %首先告诉计算机txt文件的路径和文件名

 [a1,a2,a3,a4] = textread(name_all,'%f%f%f%f','delimiter', ','); % 将其中的每一列的数据分别赋值给a1,a2,a3,a4

其中a1,a2,a3,a4分别存储了txt中的每一列的数,size(a1,1) 则说明了数据的长度。

3.将一组数据以一定的格式保存到某个txt文件中去

最后,我们想将一个数据保存到一个txt文件中去,比如我们的数据是[1,2,3,4],则我们需要执行的代码如下:

 path_wr = [path,se_name,'\evluate_response.txt']; %要保存到的txt文件的名称和路径

 fp = fopen(path_wr,'a');% 我们以累加的形式打开这个txt文件

 fprintf(fp,'%f,%f,%f,%f\n', a(1), a(2), a(3), a(4));%将这个数据保存到该txt文件

 fclose(fp); %关闭这个txt文件

这样就完成了,以上所有需要的操作,希望对看官有所帮助,也是给自己一个备忘。

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 4
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值