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_']; %⾸先告诉计算机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,'\']; %要保存到的txt⽂件的名称和路径
fp = fopen(path_wr,'a');% 我们以累加的形式打开这个txt⽂件
fprintf(fp,'%f,%f,%f,%f\n', a(1), a(2), a(3), a(4));%将这个数据保存到该txt⽂件
fprintf格式fclose(fp); %关闭这个txt⽂件
这样就完成了,以上所有需要的操作,希望对看官有所帮助,也是给⾃⼰⼀个备忘。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。