在数组中加载txt文件名以在Matlab中处理

2j4z5cfb  于 2023-06-23  发布在  Matlab
关注(0)|答案(1)|浏览(111)

是否可以将一个文件夹(或任何其他文件)中的所有*.txt加载到一个数组中?
因为我需要做很多图,每一个都有一个输入不同的文本文件。所以我想,如果我有一个包含所有名称文件的数组,我可以使用for cycle一次创建所有图像并保存它。
这可能吗?目前,我是手工修改文件名的

T = readtable('file.txt');

做一些处理并保存它saveas(gcf,'File.png');

lymnna71

lymnna711#

您可以获取文件夹中的所有文本文件

d = dir( '*.txt' );

然后循环遍历它们,做一些事情,然后用相同的名称保存

for ii = 1:numel(d)
   [~,filename] = fileparts( d(ii).name );
   T = readtable( d(ii).name);
   % do stuff...
   saveas( gcf, [filename, '.png'] );   
end

如果你当前的工作目录不是文本文件所在的目录,那么你可以使用类似的方法,但要使用完整的文件路径(无论如何可能更健壮):

d = dir( 'C:\Documents\MyStuff\*.txt' );
for ii = 1:numel(d)
   [~,filename] = fileparts( d(ii).name );
   T = readtable( fullfile( d(ii).folder, d(ii).name );
   % do stuff...
   saveas( gcf, fullfile( d(ii).folder, [filename, '.png'] ) );   
end

相关问题