matlab逐行读取text文件,编写函数提取需要的文字
在数学建模中遇到的数据比较难处理,而且给的是text格式,自己想了好长时间才编出来,现在分享一下,可以交流学习
目标的text文件是

只提取里面的数据
需要自编函数
clc,clear
path='D:\matlab文件\zz\';
namelist=dir([path,'*.txt']);
nam=length(namelist);
file=dir('zz\*.txt');
sign=1;
for n=1:nam
filename{n}=[path,namelist(n).name];
% [data1,data2]=textread(filename,'%s%s','delimiter', ':','headerlines',6);
% [a1,a2]=size(data2);
% for i=1:a1
% s(i,:)=char(data2(i,:));
% end
% datas(2)
% for i=1:a1
% s(i)=regexp(datas(i,:),' ','split')
% end
% for i=1:a1
% s=char(data2(i));
% datas(i)='s';
% end
% fid=fopen('data.txt','w');
% fprintf(fid,'%c',data2);
% fclose(fid);
s=[]
fg=4
fid=fopen(filename{n},'r');
while ~feof(fid)
str = fgetl(fid)
em=isempty(str)
if em==0
if str(1)=='1'&&str(2)=='1'
continue
end
if str(1)=='时'
st1=str(1,4:7);
st2=str(1,9:10);
st3=str(1,12:13);
s(1)=str2num(st1);
s(2)=str2num(st2);
s(3)=str2num(st3);
end
if str(1)=='0'||str(1)=='1'||str(1)=='2'||str(1)=='3'||str(1)=='4'
[a1,a2]=size(str);
for i=1:a2
if str(i)==':'
left=i+1;
break
end
end
right=a2;
for i=left:a2
if str(i)==' '
right=i
break
end
end
s(fg)=str2num(str(1,left:right));
fg=fg+1;
end
end
end
sx(sign,:)=s;
sign=sign+1;
end
clc,clear
data=xlsread('zz0.xlsx');
[a1,a2]=size(data);
data0=[]
flag=1;
for i=1:a1
if data(i,8)>100&&data(i,11)>10
data0(flag,:)=data(i,:);
flag=flag+1;
end
end
xlswrite('zq.xlsx',data0)
clc,clear
data=xlsread('zq.xlsx');
[a1,a2]=size(data);
datas=[]
flag=1;
datas(1,:)=data(1,:);
% if i<=264
% pp=0;
% while data(i,2)==datas(i-1,:2)&&data(i,3)==data(i-1,:3)
% pp=pp+1;
% i=i+1;
% end
% if
for i=2:a1
if data(i,2)==datas(flag,2)&&data(i,3)==datas(flag,3)
blan=data(i,:)+datas(flag,:);
blan=blan./2;
datas(flag,:)=blan;
else
flag=flag+1;
datas(flag,:)=data(i,:);
end
end
xlswrite('zq1.xlsx',datas)
matlab逐行读取text文件,编写函数提取需要的文字的更多相关文章
- 3.C++逐行读取txt文件数据,利用getline -windows编程
引言:今天学会了getline的用法,顺手编写一个逐行读取txt文件的程序.关于getline的用法可以看我之前的博客:2.C++标准库函数:getline函数 定界流输入截取函数 -zobol的 ...
- 几个PHP读取整个文件的函数readfile()、fpassthru()和file()
2.7.4 读取整个文件:readfile().fpassthru()和file()除了可以每次读取文件一行外,还可以一次读取整个文件.PHP提供了4种不同的方式来读取整个文件.第一种方式是rea ...
- 别再用"while (!feof(file))"来逐行读取txt文件了!
起因 执行一个C/C++程序出现segment fault.它逐行读取文本文件,每一行是一个图片名字,然后读图.处理图像,etc. 发现最后一次读取的文件名不存在(空的). 正确的逐行读取txt文件 ...
- matlab批量读取一个文件夹里类似命名的mat文件
参考网址: Matlab读取同一路径下多个txt或mat文件总结 matlab 批量读取数据文件.mat .dat 整理:matlab批量读入数据文件的方法 首先命名方式体现在只是名字里数字有变化,其 ...
- python 逐行读取txt文件
逐行读取txt文件 path = r'D:\123456\1.txt'with open(path, 'r', encoding='utf-8') as f: for line in f: ...
- EPANET中读取INPUT文件的函数文件——INPUT3.C
/* ********************************************************************** INPUT3.C -- Input data par ...
- php逐行读取txt文件写入数组的方法
使用说明: 采用fopen 方法,逐行读取数据,并使用feof($fp) 判断是否文件截止,最后通过filter() 方法,去除空白行,得到所需数据 $file = fopen("user ...
- EPANET中读取INPUT文件的函数文件——INPUT1.C/INPUT2.C/INPUT3.C
首先介绍下这3个文件的关系:可以说INPUT1.C的函数粒度最大,它的函数getdata()就完成了整个INPUT文件数据的读入,该函数又调用了INPUT2.C中的部分函数,INPUT2.C文件中的函 ...
- matlab初学者_脚本文件调用函数文件
问题: matlab里面有两种文件,一种是脚本文件,一种是函数文件,为了模块化程序,我们需要把专门的功能写成一个函数封装到某个函数文件里面. 那么来看如何在脚本文件里调用函数文件中的函数. 注意点: ...
随机推荐
- AI: 字体设计中的贝塞尔曲线
http://www.xueui.cn/tutorials/illustrator-tutorials/designers-must-know-the-secret-of-the-bezier-cur ...
- TensorFlow 中的张量,图,会话
tensor的含义是张量,张量是什么,听起来很高深的样子,其实我们对于张量一点都不陌生,因为像标量,向量,矩阵这些都可以被认为是特殊的张量.如下图所示: 在TensorFlow中,tensor实际上就 ...
- CCF_ 201512-3_画图
直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...
- To be contine ,NW NMM backup sqlserver failed.
Last time, we talk about separate under one cluster backup into two diffetent AG backup. Does it wor ...
- 转AngularJS路由插件
AngularJS学习笔记--002--Angular JS路由插件ui.router源码解析 标签: angular源码angularjs 2016-05-04 13:14 916人阅读 评论(0) ...
- C++中类成员变量在初始化列表中的初始化顺序
引子:我们知道,C++中类成员变量的初始化顺序与其在类中的声明顺序是有关的. 先看代码: class TestClass1 { public: TestClass1() { cout << ...
- centos7利用系统镜像修复grub
1 故障描述 由于错误操作,导致grub配置文件失效,系统开机后一直卡在下面的画面. 2 解决办法 这时候,就要利用系统镜像光盘,进入修复模式,然后按下面图示操作 进入镜像的shell环境,如下图所示 ...
- [Redis-CentOS7]Redis打开远程连接(十) Could not connect to Redis at 127.0.0.1:6379: Connection refused
通过网络无法访问Redis redis-cli 172.16.1.111 Could not connect to Redis at 127.0.0.1:6379: Connection refuse ...
- [Python]random生成随机6位验证码
#!/usr/bin/env pyhton # coding:utf-8 # @Time : 2020-02-16 10:07 # @Author : LeoShi # @Site : # @File ...
- 前端开发:这10个Chrome扩展你不得不知
转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/10-top-chrome-extensions-f ...