思路:先使用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
參考程序: