MATLAB中批量从txt文件中读取指定行的数据保存为txt文件
2017-12-02 16:56
751 查看
经常遇到,我们想要读取的数据,不是从头开始读取的,我们往往要求从固定的行开始读取,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
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
相关文章推荐
- matlab中如何读取TXT数据文件中指定行的数据?
- Matlab读取和保存TXT文件数据
- MATLAB: 如何读取txt中的文件 如何将数据批量写入数据 文件名递增
- Java 读取excel指定行列数据以及将数据保存到txt文件中
- 如何将视差数据保存为 txt 数据文件以便在 Matlab 中读取分析?
- java读取Excel数据,然后写入到txt文件,并批量保存到oracle数据库中
- 利用matlab把指定字符串在原位置替换为新的字符串(替换txt文件中的部分数据)
- Matlab中将矩阵数据转换成txt文件保存输出的办法
- matlab写数据到txt文件,C语言读取文件内容到数组@项目简介:基于PSS序列(频域)估计整数倍频偏
- MATLAB处理txt文本文件---数据格式要有规律性,否则要用编写特定方式进行读取
- 【matlab】对每一行数据不等的txt文件读取问题
- matlab 批量读取和保存文件
- [matlab] 读取数据-保存数据-文件移动和复制
- QT和VS读取.txt文件中的数据并保存为数组
- matlab读取txt,excel文件数据,图中图,局部放大
- matlab的各种数据读取(txt,dat,mat等格式),文件打开关闭
- 【转载】matlab中将数据输出保存为txt格式文件的方法
- QT和VS读取.txt文件中的数据并保存为数组
- Matlab批量读取元胞数组中数据保存到txt文件中(WIDER FACE数据集中,读取人脸标注矩形框信息)
- MATLAB读取txt文件,批量生成txt文件