【问题标题】:text scan iterations文本扫描迭代
【发布时间】:2012-12-19 06:22:31
【问题描述】:

我有一些文件要处理,但我中间缺少文件 我正在使用

对于 i=1:文件;

fid = fopen(['Raw',num2str(i),'.txt']);

D = textscan(fid1,'%*f %f%*f%*f%*f%f%f%[^\n]','分隔符',';' , 'headerlines',50,'CollectOutput', 1);

fclose(fid);

现在,当我按顺序整理文件时,程序的其余部分运行良好

即,我的文件夹中有 100,200 个任意数量的文件,依次为 Raw1.txt、Raw2.txt、Raw3.txt、...。

一旦缺少 Raw1.txt、Raw4.txt、Raw5.txt 等文件,我就会遇到麻烦

我如何迭代我的文本扫描以便它可以忽略文件编号?

谢谢

编辑:

我所说的丢失文件主要是指“原始”之后的数字

我的文件生成为 Raw1、Raw2、Raw3............ Raw400.txt

当所有文件都井井有条并呈现时,我就没有问题了。

当我有一些遗漏或跳跃时,例如 原始 1 。原始2.......原始10,原始15,原始16 我有麻烦,因为从 Raw10.txt 跳转到 Raw15.txt 如果我的文件以 Raw1.txt 以外的任何内容开头,我也会遇到同样的问题

【问题讨论】:

    标签: matlab textscan


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-23
      • 1970-01-01
      • 1970-01-01
      • 2014-05-18
      • 1970-01-01
      • 2021-05-18
      相关资源
      最近更新 更多