300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > MATLAB中批量从txt文件中读取指定行的数据保存为txt文件

MATLAB中批量从txt文件中读取指定行的数据保存为txt文件

时间:2021-05-28 06:42:19

相关推荐

MATLAB中批量从txt文件中读取指定行的数据保存为txt文件

经常遇到,我们想要读取的数据,不是从头开始读取的,我们往往要求从固定的行开始读取,MATLAB代码如下:

function readData()

%从指定行开始读取数据

readFilePath='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\*.txt';

readPathStr='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\';

%savePathStr='D:\data\tooth\seg_small_txtfile\Zm\'; %d3是没有滤波的 d2是滤过的 70-80\

savePathStr='C:\Second_teeth\data\di_tance\Diff_distance\qiefen_1\Zm\';

fileList=dir(readFilePath);

fileNum=length(fileList);

for j=1:fileNum

name=fileList(j).name; %获得cell数据中的name列 也就是完整的文件名字 Zhao-zhang Syam LWF Su

splitName=strsplit(name,'.'); %在.处截取.前面的字符串

varStr = splitName{1};

%dirname = [savePathStr,varStr,'\'];

a = ['mkdir ' savePathStr]; %mkdir是一个判断文件夹的函数。没有创建,有的话就是一个警告不是错误

system(a); %执行外部命令

fileName=strcat(readPathStr,name);%这个语句 就是获得了这个文件的完整路径

fid=fopen(fileName,'r');

if fid<0

warndlg('打开文件失败!');

return;

else

FormatString=repmat('%f ',1,1);

out =cell2mat(textscan(fid,FormatString,1202,'HeaderLines',601)); %从601行开始读取1202*1的矩阵数据

newStr=[savePathStr,int2str(j),'.txt'];

dlmwrite(newStr,out,'-append');

end

msgbox('文件读取成功!');

if fclose(fid)==0

msgbox('文件关闭成功!');

else

warndlg('关闭文件失败!');

end

end

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。