MASNMR的个人博客分享 http://blog.sciencenet.cn/u/MASNMR

博文

matlab逐行读取数据文本

已有 25844 次阅读 2017-11-20 11:03 |个人分类:杂七杂八|系统分类:科研笔记| MATLAB

% The load function can be used to load txt file, in which each row has the same number of elements.

% This script (read_line) is to read the txt file, in which the last row have a different number of elements.

clear

clc

%re=load('xxx.txt');

re=int16(zeros(1e6,23));  %预定义矩阵,加快速度

fid=fopen('xxx.txt');  %打开文本文件

INDEX=0;

while ~feof(fid)

   str = fgetl(fid);   % 读取一行, str是字符串

   s=regexp(str,'\s+');   % 找出str中的空格, 以空格作为分割数据的字符

   temp=str2num(str(s(end):end));    %找出最后的数据, 作为保存与否的判断条件

   %temp=str2num(str(s(20):s(21)));  %找出某个数据, 作为保存与否的判断条件

 if temp>10

   INDEX=INDEX+1;

   for i=1:length(s)   % 将字符串全部转为数组, 存于re中

       if i==length(s)

          re(INDEX,i)=str2num(str(s(i):end));

       else

          re(INDEX,i)=str2num(str(s(i):s(i+1)));

       end

   end

 end

end

fclose(fid);

%re2=re(1:INDEX,:);

%dlmwrite(strcat('.\re'),re2,'precision','%2d', 'delimiter', ' ');  % save re




https://blog.sciencenet.cn/blog-762216-1086021.html

上一篇:研究者 @ MAS生物固体核磁共振 (Biological MAS ssNMR)
下一篇:中国科学院武汉物理与数学研究所招聘电子仪器研究人员
收藏 IP: 202.127.153.*| 热度|

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备07017567号-12 )

GMT+8, 2024-4-23 23:02

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部