【发布时间】:2018-02-28 22:14:22
【问题描述】:
我有一个相当大的字典,其中包含大约 4000 万个键,我只是通过将 {key: value, key: value, ...} 写入文本文件来天真地存储它们。我没有考虑到我永远无法实际访问这些数据的事实,因为 python 不喜欢将 1.44GB 文本文件作为字典加载和评估。
我知道我可以使用 shelve 之类的东西来访问数据而无需一次读取所有数据,但我不确定如何在不重新生成所有数据的情况下将此文本文件转换为搁置文件数据(我不想这样做)。有没有更好的替代方案来存储、访问以及以后可能更改这么多数据?如果没有,我应该如何将这种怪物转换为搁置可用的格式?
如果重要,字典的格式为{(int, int, int int): [[int, int], Bool]}
【问题讨论】:
-
使用数据库?
-
使用 sqlite - Python 在标准库中对它有很好的支持。
-
添加到 Alexander 的评论中,
sqlite3可能是最低的进入门槛......
标签: python large-files shelve large-data