1

PyTables は Python オブジェクトの保存をサポートしていますか? このようなもの :

dtype = np.dtype([('Name', '|S2'), ('objValue', object)])
data = np.zeros(3, dtype)
file.createArray(box3,'complicated',data)

もちろん、これを行おうとするとエラーが発生します...オブジェクトの配列を適切に保存するにはどうすればよいですか?それは可能ですか? ありがとう

4

2 に答える 2

5

一般的な Python オブジェクトを Pytables で保存できます。

>>> dtype = np.dtype([('Name', '|S2'), ('objValue', object)])
>>> data = np.zeros(3, dtype)
>>> file = tables.openFile('/tmp/test.h5', 'w')
>>> myobjects = file.createVLArray(file.root, 'myobjects', tables.ObjectAtom())
>>> myobjects.append(data)
>>> myobjects[0]
array([('', 0), ('', 0), ('', 0)], 
      dtype=[('Name', '|S2'), ('objValue', '|O8')])

ただし、これはバックグラウンドで pickle (実際には cPickle) を使用するため、他の言語からこれらのオブジェクトにアクセスすることはできません (pickle は Python 自体でのみサポートされているシリアル化形式です)。

于 2010-11-10T19:06:05.650 に答える
1

pickle問題のライブラリでサポートされていない場所に複雑なデータを保存する場合は、モジュールを試してください。

于 2010-11-05T09:49:29.323 に答える