加载文本文件从文件夹

48视图(30天)
Sohel Rana”class=
Sohel Rana 2020年9月9日
评论道: 沃尔特·罗伯森 2020年9月14日
你好,有创造力的人,
我面临的问题从子文件夹加载数据。有主文件夹叫“光纤”这个文件夹包含大约200 k的子文件夹。每个子文件夹包含仅仅只有一个文本文件。我怎么能加载文本文件一个接一个从每个子文件夹和情节吗?

接受的答案

沃尔特·罗伯森”class=
沃尔特·罗伯森 2020年9月9日
编辑:沃尔特·罗伯森 2020年9月9日
=管理扫描“光纤”;
dinfo = dir (fullfile(管理扫描,“* *”,‘* . txt”));
文件名= fullfile ({dinfo。文件夹},{dinfo.name});
nfile =长度(文件名);
基准=细胞(nfile, 1);
foldernames =细胞(nfile, 1);
K = 1: nfile
thisfile =文件名{K};
fullparent = fileparts (thisfile);
[~,foldername] = fileparts (fullparent);
基准{K} =负载(thisfile);
foldernames {K} = foldername;
结束
现在你有一个单元阵列、基准和细胞数组foldernames,可以在适当的情节,使用foldernames作为标签。
我怀疑你想200 k线在一个阴谋,所以我不会试图猜出你想做策划。
13个评论
沃尔特·罗伯森”class=
沃尔特·罗伯森 2020年9月14日
标题(标签{K})
它出现在标题。
使用标签{K}作为“DisplayName”选项()你在任何阴谋 使用,如果你想要这个名字出现时
传说显示

登录置评。

答案(1)

亚当·怀亚特”class=
亚当·怀亚特 2020年9月9日
BaseDir =“BaseDir”;变化百分比字符串基地文件夹
tmp = dir (BaseDir);%获得BaseDir中的文件和文件夹列表
子目录= {tmp.name};%提取名单
子目录,子目录([tmp.isdir]);%选择目录条目
子目录(1:2)= [];%(“忽略前两项。”和“. .”)
Data =细胞(大小(子目录));% Preallocate数据单元数组
%遍历子文件夹和执行自定义加载函数,输出保存到细胞
n = 1:长度(子目录)
FullDir = fullfile (BaseDir、子目录);%创建完整的文件夹的名字
帧= dir (fullfile (FullDir‘* . txt”));%获得文件名(假设的三种扩展)
数据{n} = LOAD_FUNCTION (fullfile (FullDir、帧(1). name));% LOAD_FUNCTION改为建在文本阅读功能或定制函数,简单地将文件名作为输入
结束
概念是首先获得子文件夹的列表,然后遍历每个文件夹并找到文件名之前加载它。
如果文件名是一样的,提前知道,您可以简单地使用它。
如果有多个文件的文件夹,您可以遍历每个文件。
如果输出总是相同的大小和格式,可以输出预分配的数组,而不是单元阵列——我假设最坏的情况不同的输出从每个文件。
您需要更改BaseDir文件夹和LOAD_FUNCTION函数名。

类别

找到更多的在光学帮助中心文件交换

标签

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!