目的:查找文本中还有Sum/Avg的行中低三个竖线后第一个浮点数

思路:先使用python读取文本中一行,然后切割字符串。查找含有Sum/Avgkeyword的行。取出想要的结果

文本局部:

........

| msop0  |    8    326 | 99.4    0.3    0.3    0.3    0.9   25.0 |   -0.383    |

|--------+-------------+-----------------------------------------+-------------|

| mspe0  |    8    394 |100.0    0.0    0.0    0.0    0.0    0.0 |-2147483.648 |

|--------+-------------+-----------------------------------------+-------------|

| muor0  |    8    458 |100.0    0.0    0.0    0.0    0.0    0.0 |-2147483.648 |

|--------+-------------+-----------------------------------------+-------------|

| mvxz0  |    8    435 | 99.8    0.0    0.2    0.2    0.5   25.0 |    0.419    |

|--------+-------------+-----------------------------------------+-------------|

| mwie0  |    8    376 |100.0    0.0    0.0    0.0    0.0    0.0 |-2147483.648 |

|==============================================================================|

| Sum/Avg|  224  11172 | 99.8    0.1    0.1    0.1    0.2    8.5 |   -0.089    |

|==============================================================================|

|  Mean  |  8.0  399.0 | 99.8    0.1    0.1    0.1    0.2    8.5 |-2147483.648 |

|  S.D.  |  0.0   35.4 |  0.2    0.1    0.2    0.1    0.3    9.0 |-2147483.648 |

| Median |  8.0  394.0 |100.0    0.0    0.0    0.0    0.2   12.5 |-2147483.648 |

`------------------------------------------------------------------------------'

測试程序例如以下:

>>> ss='| Sum/Avg|  224  11172 | 99.8    0.1    0.1    0.1    0.2    8.5 |   -0.089    |'
>>> ss
'| Sum/Avg| 224 11172 | 99.8 0.1 0.1 0.1 0.2 8.5 | -0.089 |'
>>> ss.split('|')
['', ' Sum/Avg', ' 224 11172 ', ' 99.8 0.1 0.1 0.1 0.2 8.5 ', ' -0.089 ', '']
>>> ss.split('|')[1] == ' Sum/Avg'
True
>>> ss.split('|')[3]
' 99.8 0.1 0.1 0.1 0.2 8.5 '
>>> ss.split('|')[3][0:5]
' 99.8'
>>> float(ss.split('|')[3][0:5])
99.8

參考程序:

f = open("ctm_39phn.filt.sys")             # 返回一个文件对象
line = f.readline() # 调用文件的 readline()方法
while line:
#print line, # 后面跟 ',' 将忽略换行符
if line.split('|')[1] == ' Sum/Avg':
print float(line.split('|')[3][0:5])
# print(line, end = '')   # 在 Python 3中使用
line = f.readline() f.close()

python解析文本文件演示样例的更多相关文章

  1. boost.python编译及演示样例

    欢迎转载,转载请注明原文地址:http://blog.csdn.net/majianfei1023/article/details/46781581 linux编译boost的链接:http://bl ...

  2. 使用 jackson 解析 json 演示样例

    首先须要下载3个包,下载地址在Github FasterXML,这三个核心模块各自是: Streaming ("jackson-core") defines low-level s ...

  3. 1000个经常使用的Python库和演示样例代码

    以下是programcreek.com通过分析大量开源码,提取出的最经常使用的python库. 1. sys    (4627) 2. os    (4088)  3. re    (3563)  4 ...

  4. 支付宝即时到帐接口的python实现,演示样例採用django框架

    因工作须要研究了支付宝即时到帐接口.并成功应用到站点上,把过程拿出来分享. 即时到帐仅仅是支付宝众多商家服务中的一个,表示客户付款,客户用支付宝付款.支付宝收到款项后,立即通知你,而且此笔款项与交易脱 ...

  5. [Python] SQLBuilder 演示样例代码

    用Python写一个SQLBuilder.Java版能够从 http://www.java2s.com/Code/Java/Database-SQL-JDBC/SQLBuilder.htm 看到. 附 ...

  6. Python Web框架Tornado的异步处理代码演示样例

    1. What is Tornado Tornado是一个轻量级但高性能的Python web框架,与还有一个流行的Python web框架Django相比.tornado不提供操作数据库的ORM接口 ...

  7. Java连接redis的使用演示样例

    Java连接redis的使用演示样例 Redis是开源的key-value存储工具,redis通经常使用来存储结构化的数据,由于redis的key能够包括String.hash.listset和sor ...

  8. 构造Scala开发环境并创建ApiDemos演示样例项目

    从2011年開始写Android ApiDemos 以来.Android的版本号也更新了非常多,眼下的版本号已经是4.04. ApiDemos中的样例也添加了不少,有必要更新Android ApiDe ...

  9. Thrift的安装和简单演示样例

    本文仅仅是简单的解说Thrift开源框架的安装和简单使用演示样例.对于具体的解说,后面在进行阐述. Thrift简述                                           ...

随机推荐

  1. Transform数据权限浅析2之利用Java完成权限设置

    一:项目背景 1.1:cognos的两种建模工具 为了更好的满足客户的需求,提升报表展现的效率,一种建模工具已经不能满足报表开发和展现的需要.Cognos除了给我们提供了一种基于关系型数据库的建模工具 ...

  2. [React] Safely setState on a Mounted React Component through the useEffect Hook

    In the class version of this component, we had a method called safeSetState which would check whethe ...

  3. [AngularJS] Angular 1.3 ng-model-options - getterSetter

    getterSetter:  boolean value which determines whether or not to treat functions bound to ngModel as ...

  4. QQ互联简单例子,七彩花都提供

    QQ互联简单例子 源码由七彩花都论坛提供 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" &qu ...

  5. ACM 刷题错误总结 持续更新并持续回想中o(╯□╰)o

    一.段错误/RE 1.& 变量取地址 2.数组越界 3.爆栈, 非常可能是死循环,ruturn的边界没有处理好,或者是递归的内容里有死循环的部分. 4.线段树 逢写必错,都是build(i*2 ...

  6. Vue中使用节流Lodash throttle

    在Vue中,有时需要对ajax请求提交进行节流操作.这时候,如果页面在请求成功之后会跳转,使用vue指令once或者加载一个loading遮罩禁止点击即可,但如果请求之后不跳转,并且loading不适 ...

  7. js 字符串indexof与search方法的区别

    1.indexof方法 indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. 语法: 注意:有可选的参数(即设置开始的检索位置). 2.search方法 search() 方法用 ...

  8. SQL SERVER: 合并相关操作(Union,Except,Intersect)

    SQL SERVER: 合并相关操作(Union,Except,Intersect) use tempdb create table tempTable1 (id int primary key id ...

  9. SecureCRT 常用配置

    1.SecureFx 中文乱码,应设置成utf-8编码了,依旧乱码 在 C:\Users\root\AppData\Roaming\VanDyke\Config\Sessions 下找到对应的sess ...

  10. 转:configure/make/make install的作用 linux 安装 卸载 make uninstall

    这些都是典型的使用GNU的AUTOCONF和AUTOMAKE产生的程序的安装步骤. ./configure 是用来检测你的安装平台的目标特征的.比如它会检测你是不是有CC或GCC,并不是需要CC或GC ...