Pyparsing 分隔列表仅返回第一个元素

2024-04-17

这是我的代码:

l = "1.3E-2   2.5E+1"
parser = Word(alphanums + '+-.')
grammar = delimitedList(parser,delim='\t ')
print(grammar.parseString(l))

它返回:

['1.3E-2']

显然,我想要所有这两个值,而不是单个值,知道发生了什么吗?


如果您切换到原始字符串,则有效:

l = r"1.3E-2\t2.5E+1"
parser = Word(alphanums + '+-.')
grammar = delimitedList(parser, delim=r'\t')
print(grammar.parseString(l))

Prints:

['1.3E-2', '2.5E+1']

一般来说,delimitedList可以与类似的东西一起使用PDPDP where P是解析目标并且D是分隔符或分隔符序列。

你有delim='\t '。具体来说,这是 1 个制表符后跟 1 个空格的分隔符;它不是制表符或空格。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Pyparsing 分隔列表仅返回第一个元素 的相关文章

随机推荐