2015-06-03 20 views
0

我有一个非常巨大的字典,在硬盘上序列化。我没有足够的内存将其完全加载到内存中。我只需要读取字典的特定范围(比如字典中的第100到第200个元素)。是否可以从硬盘加载特定范围的序列化python dictonary?

只能从文件加载这些元素吗?请注意,字典的键和值是字符串。

+0

不容易 - 你需要实现你自己的unpickler,可以过滤你需要的物品。 –

回答

1

你是如何序列化数据的? (pickle/json/...)

还注意到字典中的元素没有排序(除非使用了collections.OrderedDict)。因此检索一系列元素可能无法满足您的期望。

如果您尝试处理的数据量超过内存,那么使用某种数据库会不会更好?如果你的数据是字典,可能是合适的,如shelveredis

+0

1.我用一个泡菜来序列化字典。即使他们是无序的,我也可以得到样品。 3.感谢关于数据库的建议,但现在没有数据库可用性。让我看看搁置和redis - 谢谢。 –

相关问题