Gus*_*son 13 python numpy hdf5 pytables python-3.x
我想在Python中进行分层键值存储,这基本上归结为将字典存储到文件中.我指的是任何类型的字典结构,可能包含其他字典,numpy数组,可序列化的Python对象等等.不仅如此,我希望它存储空间优化的numpy数组,并在Python 2和3之间发挥很好的作用.
以下是我所知道的方法.我的问题是这个清单中缺少什么,是否有一个替代方案可以躲过我所有的交易破坏者?
pickle
模块(交易破坏者:大量膨胀numpy数组的大小)save
/ savez
/ load
(致命弱点:不同的Python 2/3格式不兼容)PyTables的替代numpy.savez
是有希望的,因为我喜欢使用hdf5的想法,它真的有效地压缩numpy数组,这是一个很大的优点.但是,它不需要任何类型的字典结构.
最近,我一直在做的是使用类似于PyTables替换的东西,但增强它以便能够存储任何类型的条目.这实际上工作得很好,但我发现自己在长度为1的CArrays中存储原始数据类型,这有点尴尬(并且对于实际的长度为1的数组来说是模棱两可的),即使我设置chunksize
为1因此它不会占用很多空间.
那里有类似的东西吗?
谢谢!
两年前提出这个问题后,我开始编写自己的基于 HDF5 的 pickle/ 替代品np.save
。从那时起,它已经成熟为一个稳定的包,所以我想我最终会回答并接受我自己的问题,因为它的设计正是我正在寻找的:
归档时间: |
|
查看次数: |
5004 次 |
最近记录: |