在数学建模中遇到的数据比较难处理,而且给的是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文件,编写函数提取需要的文字的更多相关文章

  1. 3.C++逐行读取txt文件数据,利用getline -windows编程

      引言:今天学会了getline的用法,顺手编写一个逐行读取txt文件的程序.关于getline的用法可以看我之前的博客:2.C++标准库函数:getline函数 定界流输入截取函数 -zobol的 ...

  2. 几个PHP读取整个文件的函数readfile()、fpassthru()和file()

    2.7.4   读取整个文件:readfile().fpassthru()和file()除了可以每次读取文件一行外,还可以一次读取整个文件.PHP提供了4种不同的方式来读取整个文件.第一种方式是rea ...

  3. 别再用"while (!feof(file))"来逐行读取txt文件了!

    起因 执行一个C/C++程序出现segment fault.它逐行读取文本文件,每一行是一个图片名字,然后读图.处理图像,etc. 发现最后一次读取的文件名不存在(空的). 正确的逐行读取txt文件 ...

  4. matlab批量读取一个文件夹里类似命名的mat文件

    参考网址: Matlab读取同一路径下多个txt或mat文件总结 matlab 批量读取数据文件.mat .dat 整理:matlab批量读入数据文件的方法 首先命名方式体现在只是名字里数字有变化,其 ...

  5. python 逐行读取txt文件

    逐行读取txt文件 path = r'D:\123456\1.txt'with open(path, 'r', encoding='utf-8') as f:    for line in f:   ...

  6. EPANET中读取INPUT文件的函数文件——INPUT3.C

    /* ********************************************************************** INPUT3.C -- Input data par ...

  7. php逐行读取txt文件写入数组的方法

    使用说明: 采用fopen 方法,逐行读取数据,并使用feof($fp)  判断是否文件截止,最后通过filter() 方法,去除空白行,得到所需数据 $file = fopen("user ...

  8. EPANET中读取INPUT文件的函数文件——INPUT1.C/INPUT2.C/INPUT3.C

    首先介绍下这3个文件的关系:可以说INPUT1.C的函数粒度最大,它的函数getdata()就完成了整个INPUT文件数据的读入,该函数又调用了INPUT2.C中的部分函数,INPUT2.C文件中的函 ...

  9. matlab初学者_脚本文件调用函数文件

    问题: matlab里面有两种文件,一种是脚本文件,一种是函数文件,为了模块化程序,我们需要把专门的功能写成一个函数封装到某个函数文件里面. 那么来看如何在脚本文件里调用函数文件中的函数. 注意点: ...

随机推荐

  1. AI: 字体设计中的贝塞尔曲线

    http://www.xueui.cn/tutorials/illustrator-tutorials/designers-must-know-the-secret-of-the-bezier-cur ...

  2. TensorFlow 中的张量,图,会话

    tensor的含义是张量,张量是什么,听起来很高深的样子,其实我们对于张量一点都不陌生,因为像标量,向量,矩阵这些都可以被认为是特殊的张量.如下图所示: 在TensorFlow中,tensor实际上就 ...

  3. CCF_ 201512-3_画图

    直接模拟就行了,注意坐标系方向与平常数组不一样,填充操作用深搜和广搜都可以,这里用了广搜. #include<iostream> #include<cstdio> #inclu ...

  4. 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 ...

  5. 转AngularJS路由插件

    AngularJS学习笔记--002--Angular JS路由插件ui.router源码解析 标签: angular源码angularjs 2016-05-04 13:14 916人阅读 评论(0) ...

  6. C++中类成员变量在初始化列表中的初始化顺序

    引子:我们知道,C++中类成员变量的初始化顺序与其在类中的声明顺序是有关的. 先看代码: class TestClass1 { public: TestClass1() { cout << ...

  7. centos7利用系统镜像修复grub

    1 故障描述 由于错误操作,导致grub配置文件失效,系统开机后一直卡在下面的画面. 2 解决办法 这时候,就要利用系统镜像光盘,进入修复模式,然后按下面图示操作 进入镜像的shell环境,如下图所示 ...

  8. [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 ...

  9. [Python]random生成随机6位验证码

    #!/usr/bin/env pyhton # coding:utf-8 # @Time : 2020-02-16 10:07 # @Author : LeoShi # @Site : # @File ...

  10. 前端开发:这10个Chrome扩展你不得不知

    转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 原文出处:https://blog.bitsrc.io/10-top-chrome-extensions-f ...