pytables は Python 辞書をネイティブにサポートしていません。私がアプローチした方法は、次の形式のデータ構造を作成することです。
tables_dict = {
'key' : tables.StringCol(itemsize=40),
'value' : tables.Int32Col(),
}
(キーの長さが 40 文字未満であることを確認することに注意してください)、次の構造を使用してテーブルを作成します。
file_handle.createTable('/', 'dictionary', tables_dict)
次に、次のものを入力します。
file_handle.dictionary.append(dictionary.items())
次の方法でデータを取得します。
dict(file_handle.dictionary.read())
これは問題なく動作しますが、辞書を読み戻すのは非常に遅くなります。問題は、関数が辞書全体をメモリにロードさせていることだと思いますがread()
、これは実際には必要ではありません。これを行うより良い方法はありますか?