2017-09-20 9 views
1

私はちょうど{key: value, key: value, ...}をテキストファイルに書き込むだけで、約4000万の鍵を持っています。私はPythonが1.44GBのテキストファイルを読み込んで評価することを嫌悪しているので、私はこのデータに現実的にアクセスすることができないという事実を考慮しませんでした。非常に大きな辞書の代わりに

私はshelveのようなものを一度に読むことなくデータにアクセスできると知っていますが、このテキストファイルをどのようにすべてのデータを再生成せずにシェルフファイルに変換するかわかりません(私はしたくない)。この多くのデータを保存し、アクセスし、潜在的に後で変更するためのよりよい代替手段はありますか?そうでない場合、この怪物を棚で使用可能なフォーマットに変換するにはどうすればよいですか?

それが問題にした場合、辞書は、フォーム{(int, int, int int): [[int, int], Bool]}

+8

データベースを使用しますか? – Alexander

+2

sqliteを使う - Pythonは標準ライブラリでそれをうまくサポートしています。 –

+1

Alexanderのコメントに追加するには、['sqlite3'](https://docs.python.org/3.6/library/sqlite3.html)がおそらくエントリへの最も低いバリアです。 – mgilson

答えて

0

Redisのですがこの種の問題のために使用することができ、メモリ内のキーと値のストアです。

Python clientsがいくつかあります。

hmset操作では、複数のキー値を挿入できます。

+0

Took * hmset * idea from https://stackoverflow.com/questions/32276493/how-to-store-and-retrieve-a-dictionary-with-redis –

関連する問題