我有一些要处理的文件,但我在中间丢失了文件 我正在使用
表示i = 1:文件;
fid = fopen(['Raw',num2str(i),'。txt']);
D = textscan(fid1,'%* f%f%* f%* f%* f% f%f% [^ \ n]','delimiter',';' ,'headerlines',50,'CollectOutput',1);
FCLOSE(FID);
现在,当我按顺序存档文件时,其余的程序运行良好
,即我的文件夹中有100,200个文件,顺序为Raw1.txt,Raw2.txt,Raw3.txt,....
一旦缺少Raw1.txt,Raw4.txt,Raw5.txt等文件,我就会遇到麻烦
如何迭代我的文本扫描,以便它可以忽略文件编号?
由于
编辑:
缺少文件我主要是指'Raw'之后的数字
我的文件生成为Raw1,Raw2,Raw3 ............ Raw400.txt
当所有文件都按顺序存在时,我没有问题。
当我有一些失踪或跳跃时,例如 Raw1。 Raw2 .......... Raw10,Raw15,Raw16 我有麻烦,因为从Raw10.txt跳转到Raw15.txt 如果我的文件从Raw1.txt以外的任何东西开始,我也有同样的问题
答案 0 :(得分:1)
在matlab文档中查找exist
。这样的事情应该有效:
for i=1:file;
if exist(['Raw',num2str(i),'.txt'], 'file')
% File exists!
fid = fopen(['Raw',num2str(i),'.txt']);
D = textscan(fid1,'%*f %f%*f%*f%*f%f%f%[^\n]','delimiter',';', 'headerlines',50,'CollectOutput', 1);
fclose(fid);
end
end
请注意,exist(Name, 'file')
也会检查文件的目录,因此要么提供完整的文件名(即带路径),要么尝试if exist(Name, 'file') == 2
之类的内容