MATLAB读取文件夹下特定类型格式文件的文件名并读取该格式文件的数据
利用代码对大量数据进行自动批处理时,首先需要获取该数据存放的文件夹(文件夹路径),然后获取该文件夹下某一类型数据所有的文件名,最后通过特定的数据读取代码读取数据进行自动批处理。这里以.txt文本类型作为示例(代码块中%后为注释内容)。
第一步:获取文件夹下某类型数据的所有文件名
主要包括三个步骤:
- 设置数据存放的文件夹路径;
- 显示该路径下特定格式(如.txt)的文件完整信息;
- 提取特定格式的所有文件的文件名。
Path = 'F:\Test\'; % 设置数据存放的文件夹路径
File = dir(fullfile(Path,'*.txt')); % 显示文件夹下所有符合后缀名为.txt文件的完整信息
FileNames = {File.name}'; % 提取符合后缀名为.txt的所有文件的文件名,转换为n行1列
第二步:读取特定格式的所有数据
主要包括三个步骤:
- 获取所提取文件的个数;
- 进入循环,按提取的文件名依次读取数据内容;
- 在循环中将读取的数据内容形成固定格式的数据矩阵。
Length_Names = size(FileNames,1); % 获取所提取数据文件的个数
for k = 1 : Length_Names
% 连接路径和文件名得到完整的文件路径
K_Trace = strcat(Path, FileNames(k));
% 读取数据(因为这里是.txt格式数据,所以直接用load()函数)
eval(['Data',num2str(k),'=','load(K_Trace{1,1})',';']);
% 注意1:eval()函数是括号内的内容按照命令行执行,
% 即eval(['a','=''2','+','3',';'])实质为a = 2 + 3;
% 注意2:由于K_Trace是元胞数组格式,需要加{1,1}才能得到字符串
end