
方法/步骤
获取第一层文件夹下的所有文件夹以及数据信息结构体。
例如:主路径是SourcePath
可以通过相对路径代码cd(SourcePath);File1NameFormation=dir('')获取当前路径下所有文件夹信息并且将文件夹信息保存在File1NameFormation中。也可以使用绝对路径:File1NameFormation=dir('SourcePath\');对于需要列出什么类型的文件可以通过将''改成'xxx';其中XXX为类型文件扩展名
对路径扩展进行计数,循环进行分文件夹读取
File1Number=numel(File1NameFormation);或者File1Number=size(File1NameFormation,1);通过获取当前文件夹中有多少层文件夹。
对得到的文件夹通过计数进行循环,进入次文件夹一次继续读取文件。
但是这里需要注意的是,如果是文件夹需要从第三个文件夹读取,因为''和''一个为当前文件夹一个为上一层文件夹,所以需要从第三个文件读取,可以通过第二个返回上一层文件夹。
可以发现进入子文件后就进入循环了,返回了第一步。在这里可以整合所有的代码
cd(SourcePath)
File1NameFormation=dir('');
File1Number=numel(File1NameFormation)
for LoopFile1Number=3:File1Number
NowPath=fullfile(SourcePath,File1NameFormation(LoopFile1Number)name
end
回顾整个过程,重复写的代码很多,在这里我们可以通过运用递归的思维写一个读取数据代码。
这里通过循环来写读取文件函数。
function ReadFile(MainPath,FileType,FileLayer)
%%%%%%%%%%%%%%
%MainPath为主路径,FileType为需要读取的文件类型,FileLayer为文件类型在哪一层文件下
cd(MainPath);
if(FileLay>=0)
PathFileFormation=dir('');
PathNumber=numel(PathFileFormation);
for LoopPathNumer=3:PathNumber
Path=fullfile(MainPath,PathFileFormation(LoopPathNumber)name);
ReadFile(Path,FileType,FileLayer-1)
end
else
PathFileFormation=dir('FileType');
PathNumber=numel(PathFileFormation);
for LoopPathNumer=3:PathNumber
Path=fullfile(MainPath,PathFileFormation(LoopPathNumber)name)
end
end
1。放在当前文件夹下
2。添加该目录到matlab路径中,
file->set path -> add with subfolders
选择要添加的文件夹保存即可
以上两种方法推荐第2种
先确定子文件夹
for i = 1 : length( subdir )
if( isequal( subdir( i )name, '' ) ||
isequal( subdir( i )name, '' ) ||
~subdir( i )isdir ) % 如果不是目录跳过
continue;
end
Matlab批量读取一个文件夹里的txt文件的方法。
如下参考:
1首先,在这里举例制作一个txtde文本文件,如下面页面的内容。
2将文本文件放入matlab的工作路径中,方便读取 *** 作。例如,如果我的文本文件在桌面上,我可以将matlab的工作路径更改为桌面。具体方法是点击matlab的省略号后的当前工作路径,d出选项选择文件夹,然后选择相应的路径。
3接下来,我们使用importdata函数来读取文件。例如,我想读取一个名为data的文本文件,我可以在命令窗口中输入:data=IMPORTDATA('datatxt')。
4结果表明,数据是一个结构化数组。在这一点上,我们可以看看结构的每个部分代表什么。如下图所示,第一个数组表示文本文件的数量,第二个和第三个数组表示文本文件中的汉字。此时,每个人都可以根据需要引用适当的数组。
5除了上述功能,您还可以使用tex胎面函数来读取。使用该特性时,可以使用[a,b,c,d]=tex胎面('data')来指定输出的每个部分的格式。txt','%2s%。3f%。3f%3f”)。
文本中的第二个引号表示输出的格式。例如,%2s表示第一列的输出格式是单元格数组%。3f表示输出数字保留三位小数。
需要准备的工具:Matlab软件,电脑。
1、首先找到需要提取文件名的文件夹,双击打开,查看文件。
2、右键单击从下拉菜单中选择新建命令,新建一个文本文件。
3、双击打开该文本文件,接着输入命令行dir /b>目录清单txt
4、右键单击该文件,从下拉菜单中选择重命名。
5、修改扩展名txt为bat,回车进行确定,d出提示信息继续确定即可。
6、双击运行该文件,这个时候会在统一目录下进来一个名称为目录清单的文本文件。
7、打开目录清单文件,查看效果,这个时候会发现该文件夹下的所有文件名称均被提取出来了。
以上就是关于如何使用matlab读取多层文件夹中的所有数据文件全部的内容,包括:如何使用matlab读取多层文件夹中的所有数据文件、matlab 查看m函数文件的路径、matlab 怎么读取一个文件夹内多个文件夹等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)