英語の単語の2GB(およそ)サイズのファイルを作成するプログラムを作成しようとしています。そして、この2GBのファイルから、外部ソートを使用して単語の頻度を印刷しようとしています。外部ソート後には、カウント(周波数)だけを出力することができます巨大ファイル(2GB)で単語の頻度(1行に1つ)をカウントするにはどうすればよいですか?
答えて
Pythonには組み込み関数sorted
があり、iterableをソートします。しかしそれよりも優れているのは、バージョン2.7以上では、物の頻度を数えるための組み込みのコレクションがあります。あなたの大きなファイルは、1行に1つの単語を持っていると仮定すると、あなたが行うことができます:
from collections import Counter
with open(<giant-dictionary>) as words:
counts = Counter(words)
これには数分かかります。
なぜPythonを使用しないのですか? (外部ユーティリティはスピードが問題であれば良いかもしれません) – katrielalex
私はPythonで初心者ですが、それは良い答えと思われますが、疑問があります。 – Charliemops
@ TheCharliemopsそれは理由のために "カウンター"と呼ばれています。それは、それらを格納するのではなく、それに与えられたものを数えます。単語を繰り返すと、その単語のカウントが増加します。 –
- 1. ファイルセットを1行に1ファイルずつファイルに印刷するにはどうすればよいですか?
- 2. メソッドパラメータを1行に1つずつ縦に積み重ねるにはどうすればよいですか?
- 3. SQL - 一度に1つの行を選択するにはどうすればよいですか?
- 4. テキスト中の単語頻度をカウントするか?
- 5. 長いSQL文を持つ1つの巨大なXMLファイルかどうか?
- 6. 複数の巨大な.accdbファイルを1つに統合する
- 7. ListView内で一度に1つのチェックボックスのみをチェックするにはどうすればよいですか?
- 8. 1単語を有効なxmlに変換するにはどうすればよいですか?
- 9. ツイッターボタンを1人のユーザーに1回だけカウントさせるにはどうすればいいですか?
- 10. 1、2、3文字のFULLTEXT単語索引を作成するにはどうすればよいですか?
- 11. 2つのファイルを1つのテキストファイルにマージするにはどうすればよいですか?
- 12. 一度に1つのスタックパネル項目をアニメーション化するにはどうすればよいですか?
- 13. CSSとjsファイルを1つのHTMLファイルにバンドルするにはどうすればよいですか?
- 14. Electronアプリを1つの実行可能ファイルにパッケージ化するにはどうすればいいですか?
- 15. 1つのAGIファイルを別のAGIファイルに含めるにはどうすればよいですか?
- 16. JavaScriptで一度に1つの要素を表示するにはどうすればいいですか?
- 17. Eigen to floatで1 * 1の行列を変更するにはどうすればよいですか?
- 18. GAEプロジェクトを1つのアプリケーションで個別に実行するにはどうすればよいですか?
- 19. テキストエディタ内で行のセットを1つ右に移動するにはどうすればよいですか?
- 20. テーブルレイアウトで1つのセルの行をアンドロイドでマージするにはどうすればよいですか?
- 21. jQueryはマウスオーバーで1つ、クリックで別のことを行うにはどうすればよいですか?
- 22. テーブル単位のマッピングのレベルを1つだけクエリするにはどうすればよいですか?
- 23. rデータフレームの行の項目頻度を取得するにはどうすればよいですか?
- 24. 1つのMavenプロジェクトに複数のWARファイルをパッケージ化するにはどうすればよいですか?
- 25. 1つのファイルに複数の機能を追加するにはどうすればよいですか?
- 26. 複数の部分テンプレートを1つのファイルにマージするにはどうすればよいですか?
- 27. RactiveJSベースのライブラリを1つのJSファイルに構築するにはどうすればよいですか?
- 28. 1つのクラスを別のクラスのサブクラスに移行するにはどうすればよいですか?
- 29. DoubleAnimationを1ずつ増やすにはどうすればよいですか?
- 30. 1つのファイルをMercurialでコミットしたバージョンに戻すにはどうすればよいですか?
Pythonの答えだけが必要な場合、なぜJava、C++、Cおよびperlにタグを付けるのですか? – Charliemops
この宿題はありますか? – NPE