問題タブ [difflib]

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.

0 投票する
1 に答える
192 参照

python - 違いが存在する場合、同じ ID を持つアイテムの最小最大値を取得しますか?

次のような 2 つのファイルがありますが、いくつかの違いがあります。

最初のファイル:

2 番目のファイル:

difflib を使用して両方を比較し、それらに違いがある行を出力します。私がやろうとしているのはframe、同じを共有する最小値と最大値を出力することidです。

フレームはすべての行のキーであるため、この場合のフレームの範囲は から16まで26です。id は、4 つの値のすべてのリストの前にある値です。したがって、最初の行の id は3. 2 行目には と の 2 つの ID が2あり3ます。

だから私が書きたいものの例は次のとおりです:

framesIDを共有するものの1つが、3比較しているファイルとは異なる場合。

そのような違いごとに、開始フレームと終了フレームのみを含む新しいファイルを書き出す必要があります。次に、各ファイルに追加の文字列を連結する作業を行います。

これは、異なる各行を出力する現在の difflib の使用法です。

この実行ブロックを微調整して、上記で説明したことをどのように達成できるでしょうか?

両方のファイルが同じframe金額を共有していますが、同じではないことに注意してください。そのidため、おそらくフォルダーに、違いごとに2つの異なるファイルを書き込む必要があります。frameしたがって、2 つのファイルに 20 の違いがある場合、元のファイルごとに 1 つずつ、同じ ID の開始と終了ごとにテキスト ファイルを含む 2 つのメイン フォルダーが必要です。

0 投票する
2 に答える
1244 参照

python - 2 つの複数列の csv ファイルを比較する

【Python3を使用】2つのcsvファイルの内容を比較し、内容が同じであればスクリプトを出力させたい。つまり、すべての行が一致しているかどうか、一致していない場合は、一致していない行数を知らせてくれるはずです。

また、後でコードを変更して、一致しないすべての行を別のファイルに書き込む柔軟性が欲しいです。

さらに、2 つのファイルには技術的にはまったく同じ内容が含まれている必要がありますが、行の順序が同じではない場合があります (ヘッダーを含む最初の行を除く)。

入力ファイルは次のようになります。

私が現在実行しているコードは次のとおりですが、正直なところ、これが最良の (最も pythonic な) 方法であるかどうかはわかりません。また、try: while 1: ...コードが何をしているのかわかりません。このコードは、フォーラムと python ドキュメントを精査した結果です。これまでのところ、コードは非常に長時間実行されます。

私は非常に新しいので、コードに関するフィードバックをお待ちしております。また、可能な推奨事項について説明をお願いします。

コード:

編集: ファイルには重複が含まれている可能性があるため、セットに保存することはできません(すべての重複が削除されるためですよね?)。

0 投票する
1 に答える
280 参照

python - forループを使用して辞書に項目を追加するpython

2 つの単語の発音が似ているかどうかを判断するために、ネストされた for ループを作成しています。私のコードは以下のようなものです:

結果は、wordsDict という名前の辞書になります。たとえば、キー "university" は、音素が類似しているため (sm. ratio が 0.66666 で 0.6 より大きい)、値 "anniversary" を持ちますが、入力が "university" と "good" の場合、"good" はキー「大学」にも追加されますが、実際には「大学」と「良い」の類似度は 0.0 で、0.6 未満です。私の「if」制御ステートメントが失敗したようです。「if」ステートメントを機能させるにはどうすればよいですか?

0 投票する
2 に答える
5262 参照

python - 文字列のリストをベストマッチでソートする方法 (difflib ratio)

ある種の初歩的な検索エンジンを構築しているとしましょう。検索結果として文字列のリストがあり、最も一致する結果が一番上になるように検索結果のリストを並べ替えたいと考えています。

私の現在のコードは次のようになります(例として名前付きパラメーター)

その後どうすればいいのかわからないratio。リストを でソートする必要があることはわかっていますratioが、どうすればよいでしょうか?

0 投票する
0 に答える
2701 参照

python - Python diff で空白を無視する

Pythonの差分で空白を無視するエレガントな方法はありますか(difflibまたはその他のモジュールを使用)? 何かを見逃したのかもしれませんが、ドキュメントを精査しましたが、difflib でこれに対する明示的なサポートを見つけることができませんでした。

私の現在の解決策は、テキストを単語のリストに分割し、それらを比較することです。

これの欠点は、単語ごとではなく行ごとの違いのレポートが必要な場合、差分の出力を元のファイル テキストとマージする必要があることです。これは簡単に実行できますが、少し不便です。

0 投票する
3 に答える
666 参照

python - Djangoを使用してMarkdownでレンダリングされる2つのモデルを比較するには?

投稿の 2 つのバージョン (元のバージョンと編集済みのバージョン) の間で、投稿の変更 (編集/追加/削除されたテキスト) を確認する最良の方法は何ですか?

私はMarkdownを使用しているので、 difflib.HtmlDiffを使用するのが良い考えかどうかはわかりません。私の目標は、追加されたテキストを緑の背景でマークし、削除されたテキストを赤の背景でマークすることです。これは、 githubと似ています。

0 投票する
3 に答える
2045 参照

python - 削除を考慮して文字列の一致を取得する - python

文字列マッチングでdifflibに削除を考慮させる方法はありますか?

を試しましたdifflib.get_close_matches()が、近い一致の出力で長さが短い文字列は考慮されません。例えば

出力:

string のErfreulicher場合Erfreulich、距離はわずか -1 ですが、近い一致とは見なされないことに注意してください。