gpt4 book ai didi

python - 解析示例

转载 作者:太空狗 更新时间:2023-10-29 20:36:47 25 4
gpt4 key购买 nike

这是我第一次尝试使用pyparsing,我想问一下如何过滤此示例行:

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

得到如下输出:1,52.125133215643,21.031048525561,116.898812

一般来说,我在理解 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]

编辑:您可能还想考虑 lepl ,这是一个类似的库,有很好的文档记录。与上述脚本等效的脚本是:

from lepl import *

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

number = Real() >> float

with Separator(~Literal(',')):
latitude = ~Literal('LA') + number
longitude = ~Literal('LN') + number
elevation = ~Literal('EL') + number

line = (~Literal('GPS')
& ~Literal('PN1')
& latitude
& longitude
& elevation)

print line.parse(survey)

关于python - 解析示例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8507694/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com