問題タブ [pyparsing]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - オプションのサブフィールドのpyparsing
これは、pyparsing、Each、resultsnameの続きです。私はpyparsingで大きな成功を収めてきましたが、SQLのorderby句を解析するときに行き詰まります。問題は、どのフィールドも昇順または降順に設定できることです。
したがって、SQLクエリは次のようになります。
私はいじくり回してきました、そして私が思いついた最高のものは:
のようなものの場合ORDER BY c asc, d desc
、これc
は私が最初に注文するものでありasc
、私の注文ディレクトリですが、に到達しませんd
。
['c asc', 'd desc']
そこに入ることができる限り、私は喜んで出力を次のようなものとして受け取りcolumnNameList
ます。
pyparsingでこれを処理する方法はありますか?私の質問は不明確でしたか?
python - pyparsing による非貪欲な解析
pyparsing で行を解析しようとしています。この行は、いくつかの (キー、値) で構成されています。私が取得したいのは(キー、値)のリストです。簡単な例:
次のような結果になるはずです。 [('ids', '12'), ('fields', 'name')]
より複雑な例:
次のような結果になるはずです。 [('ids', '12, 13, 14'), ('fields', 'name, title')]
PS: 結果のリスト内のタプルは単なる例です。それはdictまたは別のリストなどである可能性がありますが、それほど重要ではありません。
しかし、これまでに試したことは何でも、次のような結果が得られます。
[('ids', '12 fields')]
Pyparsing は、値の一部でもあると考えて、次のキーを食べています。
サンプルコードは次のとおりです。
誰かが私を助けることができますか?ありがとう。
python - 辞書とpyparsingのリスト
私はpyparsingを使用して、リストに追加される辞書を作成しています。これを行うと、辞書は追加のリストにラップされ、空の辞書も追加されます。これを修正する方法がわかりません。私が欲しいのはです[{},{},{}]
。getDict[([{}],{})]
のコードがgetDictParseではなく必要なものを提供するのはなぜですか?
出力:
python - pyparsing でトークンの順序を指定するにはどうすればよいですか?
次の行を解析しているとします。
これを次のように解析したいと思います。
私の現在のpyparsingの定義は次のとおりです。
何が起こっているかというと、some_words
が ' を飲み込みjumps'
、解析エラーが発生します。pyparsing lex をリテラルトークンとしてジャンプするにはどうすればよいですか?
python - 解析された文字列の一部を破棄するようにpyparsingに指示するにはどうすればよいですか?
私はいくつかのマークアップされたデータのパーサーを書いています.pyparsingで最終結果の開始タグや終了タグなどを破棄し、データだけを残したいと思います.
これを行うことはできますか、それとも値に適切な名前を付けて手動で引き出す必要がありますか?
python - pyparsing の使用に関する問題
私は自分の .dotf ファイルを解析するためにこれを書きました:
以下は.dotfファイルのサンプルです
しかし、それには何か問題があります:
3行目の15列目は空白ですね。
それで、何が問題なのですか?
ありがとう!
python - Pyparsing: 非貪欲にしようとすると無限ループが発生する
RCS ファイル形式のパーサーを作成しようとしていますが、RCSadmin のコンテキストで RCSid を解析しようとすると、無限ループが発生します。問題のある行を削除する
ハングが発生しないようにします。RCSid は文字列の解析に成功しました。助言がありますか?
ここに私が持っているものがあります:
出力付き (^C at hang):
multiprocessing - pyparsing - 並列ログ処理のパフォーマンスに関するヒント
複数のログ ファイルを並列解析するために 2 プロセス プールを使用しています。
ただし、最初の実行ではかなり遅く、約 12 個の ~20Mb ファイルで ~16 分です。
ログの新しいバイトを 2 ~ 3 分ごとに解析することを考えると、次の反復では大きな問題はありませんが、最初の実行での方法には改善の余地があることは確かです。ログをいくつかの小さいサイズのスプライスに事前に分割すると (pyparse がログ全体をオンスでメモリに割り当てる必要がないように) 高速化されますか?
まだデュアル コアの開発用 VM で実行していますが、すぐにクアッド コアの物理サーバーに移行する必要があり (追加のクアッド コア CPU を取得しようとします)、最大 50 を管理できる必要がある場合があります。ログ。
ログからのスプライス、
pyparseを使用して、
python - ebnf と空白を使用した pyparse
http://pyparsing.wikispaces.com/file/view/ebnf.pyを使用して、ebnf 定義を変換しています。
ebnf def は次のようになります。
ファイルをロードして、次のような文字列を解析しようとすると:
私は得る:
アイデア/解決策はありますか?
python - ParseException: 予想されるテキストの終わり
pyparsing を使用してテキストを解析しようとしています。私の機能を以下に示します。まず、私の辞書 (私の Web サイトで一般的に使用される用語の辞書) 内のすべての用語を含むリストを作成します。次に、この一般的に使用される単語のリストを文法に設定しました。次に、文法を使用して ZeroOrMore オブジェクトを構築します。最後に、文字列を解析し、文字列で見つかった一致を取得する必要があります。ただし、テキストの終わりが予期されていたことを訴える代わりに、ParseException がスローされます。
pyparsing のホームページhttp://pyparsing-public.wikispaces.com/FAQsの FAQ によると、パーサーに文字列全体を解析させたい場合は、文法に StringEnd() を入れるか、オプションの引数 parseAll=True を使用する必要があります。コードから parseAll=True を削除すると機能しますが、文字列全体を解析しません。
何か案は?