pyparsing で行を解析しようとしています。この行は、いくつかの (キー、値) で構成されています。私が取得したいのは(キー、値)のリストです。簡単な例:
ids = 12 fields = name
次のような結果になるはずです。 [('ids', '12'), ('fields', 'name')]
より複雑な例:
ids = 12, 13, 14 fields = name, title
次のような結果になるはずです。 [('ids', '12, 13, 14'), ('fields', 'name, title')]
PS: 結果のリスト内のタプルは単なる例です。それはdictまたは別のリストなどである可能性がありますが、それほど重要ではありません。
しかし、これまでに試したことは何でも、次のような結果が得られます。
[('ids', '12 fields')]
Pyparsing は、値の一部でもあると考えて、次のキーを食べています。
サンプルコードは次のとおりです。
import pyparsing as P
key = P.oneOf("ids fields")
equal = P.Literal('=')
key_equal = key + equal
val = ~key_equal + P.Word(P.alphanums+', ')
gr = P.Group(key_equal+val)
print gr.parseString("ids = 12 fields = name")
誰かが私を助けることができますか?ありがとう。