目的:查找文本中还有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. C#基础视频教程7.3 如何编写简单游戏

    前面我们大致实现了鸟的一圈轨迹(其实如果你不做这个,就用两个矩形块的碰撞检测代替也可以),跟所有前面的教程一样,草稿打完了就要设计封装成一个类.至少到目前为止我们已经知道了鸟的属性和方法,先不要管方法 ...

  2. com.fasterxml.jackson.core.JsonParseException: Unexpected character

    com.fasterxml.jackson.core.JsonParseException: Unexpected )): was expecting double-quote to start fi ...

  3. js获取事件源及触发该事件的对象

    怎样获取事件源及触发该事件的对象,方法有非常多,js中能够通过event来实现.以下有个不错的演示样例,感兴趣的朋友能够參考下: function myfunction(event) { event ...

  4. 神经网络中 BP 算法的原理与 Python 实现源码解析

    最近这段时间系统性的学习了 BP 算法后写下了这篇学习笔记,因为能力有限,若有明显错误,还请指正. 什么是梯度下降和链式求导法则 假设我们有一个函数 J(w),如下图所示. 梯度下降示意图 现在,我们 ...

  5. js处理url

    需求:用js获得url的电话号码和状态 针对url地址:http://www.deikang.com/index.php?tel=15811296111&status=1&id=100 ...

  6. C与C++中非常少犯的错误,犯了后却非常难找出的错误

    1.continue,break类的错误(HDU1877): #include<iostream> using namespace std; int main() { int a,b,m, ...

  7. EF性能

    批量操作时,加上这句:Context.Configuration.AutoDetectChangesEnabled = false; 主要是取消跟踪,缩短对象添加到上下文的时间(非执行SQL的时间)

  8. java语言国际化--ResouceBundle、struts

    一.Java国际化 我们使用java.lang.Locale来构造Java国际化的情境. java.lang.Locale代表特定的地理.政治和文化.需要Locale来执行其任务的操作叫语言环境敏感的 ...

  9. unity5, animation event

    一,给导入的fbx动画添加animation event: 如下图,在双击状态机中的idle状态,打开右面的面板,点开Events项会出现一个时间轴,点击下方播放器的播放按钮或者拖动播放器时间轴上的红 ...

  10. WiX and System Folders 系统目录 installshield 如何将文件安装到C盘根目录

    Property name Brief description of property AdminToolsFolder Full path to the directory containing a ...