Matlab 将多个.txt文件转换为同一文件夹中的.mat
我有许多.txt文件,其中包含n行和7列,每个行和列都用空格分隔。我想将每个文件转换为.mat文件,并将其保存在同一文件夹中 我试过这个,但不起作用:Matlab 将多个.txt文件转换为同一文件夹中的.mat,matlab,loops,Matlab,Loops,我有许多.txt文件,其中包含n行和7列,每个行和列都用空格分隔。我想将每个文件转换为.mat文件,并将其保存在同一文件夹中 我试过这个,但不起作用: files = dir('*.txt'); for file = files' data=importdata(file.name); save(file.name, 'data'); end 虽然这适用于单个文件,但我希望通过编程实现,因为我拥有的.txt文件数量非常大: data=importdata('myfile.txt
files = dir('*.txt');
for file = files'
data=importdata(file.name);
save(file.name, 'data');
end
虽然这适用于单个文件,但我希望通过编程实现,因为我拥有的.txt文件数量非常大:
data=importdata('myfile.txt');
save('myfile', 'data');
谢谢你的帮助这应该行得通
files = dir('*.txt');
for idx = 1:length(files)
file_name = files(idx).name;
fprintf("Processing File %s\n",file_name);
data=importdata(file_name);
[filepath,name,ext] = fileparts(fullfile(pwd,file_name));
save([name '.mat'],'data');
end
dir创建了一个需要索引的结构,所以我们创建for循环,从1开始,一直到dir的所有元素都被处理完毕。
注意,在代码中,我还添加了一个部分,将文件名(例如file1.txt)拆分为文件名和扩展名。因此,在创建mat文件时,我们只使用名称部分,而不使用扩展名。这应该可以
files = dir('*.txt');
for idx = 1:length(files)
file_name = files(idx).name;
fprintf("Processing File %s\n",file_name);
data=importdata(file_name);
[filepath,name,ext] = fileparts(fullfile(pwd,file_name));
save([name '.mat'],'data');
end
dir创建了一个需要索引的结构,所以我们创建for循环,从1开始,一直到dir的所有元素都被处理完毕。
注意,在代码中,我还添加了一个部分,将文件名(例如file1.txt)拆分为文件名和扩展名。因此,在创建mat文件时,我们只使用名称部分,而不使用扩展名。@scotty3785的答案很好,而且在有人需要时,这也适用于我:
files = dir('*.txt');
for i=1:length(files)
data=importdata(files(i).name);
save(erase(files(i).name,".txt"), 'data');
end
@scotty3785的答案很有效,如果有人需要它,这对我也很有效:
files = dir('*.txt');
for i=1:length(files)
data=importdata(files(i).name);
save(erase(files(i).name,".txt"), 'data');
end
dir返回struct。您需要先提取文件数,然后启动计数器。然后提取每个文件的内容。dir返回struct。您需要先提取文件数,然后启动计数器。然后提取每个文件的内容。