我有一个XML文件另存为txt文件,我正在尝试从其中提取数据以使用Python进行显示

时间:2019-05-09 16:07:25

标签: python parsing

数据的格式为“ 25.91 这样我有多行

我正在尝试提取数字字符数据25.91 25.91

我已经尝试为此编写代码,但是有些事情没有加起来。

import re
myfile = open("BOMR1_.txt")
for line in myfile:
    line=line.rstrip()
    StartMP = re.findall(r'^xml.*<FROM>([0-9.]+)', line)
    if len(StartMP)> 0:
        Print (StartMP)

我想像这样查看数据 Startmp = 25.91等等

1 个答案:

答案 0 :(得分:0)

使用正则表达式解析XML等分层数据格式不是一个好主意。有关此问题的更多信息,请参见this fantastic article,以了解为何不使用正则表达式处理器本身的解析器。

该文章的一段关键内容为:

  

正则表达式不是解析器。虽然你可以做一些惊人的事情   带有正则表达式的东西,它们在平衡标记方面很弱   匹配。某些正则表达式变体具有平衡的匹配,但是它是   显然是骇客,也是讨厌的。您通常可以将其分类   就像我在消毒程序中一样但是无论你多么聪明   正则表达式,不要自欺欺人:绝不以任何形式,形式或形式   代替真正的实时解析器。