Cast为Float时的Python / Pyparsing结果

时间:2014-01-07 17:00:16

标签: python pyparsing

我从另一个问题中找到了以下示例: Here

它有一些像这样的pyparsing代码:

from pyparsing import *

survey = '''GPS,PN1,LA52.125133215643,LN21.031048525561,EL116.898812'''

number = Word(nums+'.').setParseAction(lambda t: float(t[0]))
separator = Suppress(',')
latitude = Suppress('LA') + number
longitude = Suppress('LN') + number
elevation = Suppress('EL') + number

line = (Suppress('GPS,PN1,')
        + latitude
        + separator
        + longitude
        + separator
        + elevation)

print line.parseString(survey)

它表示输出为:

[52.125133215643, 21.031048525561, 116.898812]

但是,我得到以下输出:

[W:(0123...), W:(0123...), W:(0123...)]

如何获得浮点输出而不是这些“W:(0123 ...)”值?

谢谢!

1 个答案:

答案 0 :(得分:0)

我升级了我的python和pyparsing版本,它仍然无法正常工作。然而,第二天早上它突然工作得很好。我不知道为什么,也许一夜之间的重启做了些什么。无论哪种方式,它现在似乎都能正常工作。