暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

Matlab-文件操作-读文件

Matlab随笔 2021-08-25
902

场景一.读单个文件

我们需要读取文件中红框里的数据!

第1步:读文件

    fp=fopen('1.txt','r');

    第2步:跳过前两行

      fgetl(fp);
      fgetl(fp);

      第3步:读取Cycle和Pass

        L=fgetl(fp);
        cycle=str2double(L(end-3:end));
        L=fgetl(fp);
        pass=str2double(L(end-4:end));

        第4步:跳过文件头(假设不止3行)

          while 1
              L=fgetl(fp);
              % 如果读取到end则跳出
              if contains(L,'end')
               break;
              end
          end

          第5步:读取数据,直接末尾

            % 空行
            fgetl(fp);  
            k=1;


            % 读取到文件结束
            while ~feof(fp)
            L=str2num(fgetl(fp));
            a=L(k,1);
                b=L(k,2);
                c=L(k,3);
                k=k+1;
            end

            第6步:关闭文件

              fclose(fp);

              其他:

              1.文件指针复位到文件开头

                frewind(fp);

                2.读取如下文件

                  A=textscan(L,'%s %d %d');
                  a=char(A{1});
                  b=A{2};
                  c=A{3};



                  场景二.读多个文件

                  第1步.读取文件夹中特定类型的文件

                    % 输入文件所在目录
                    mainDir='G:\Data\Jason3\';
                    % 读取后缀名为.asc的文件,结果是一个结构体
                    ascFile=dir([mainDir,'*.asc']);
                    % 读取文件数量
                    ascNum=length(ascFile);


                    for i=1:ascNum
                    % 拼接文件路径
                    Path1=[mainDir,ascFile(i).name];
                    % 读取文件
                    fp=fopen(Path1,'r');
                    ...
                        ......与处理单个文件一致......
                        ...
                    end


                    点个在看你最好看



                    文章转载自Matlab随笔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

                    评论