我正在尝试序列化一个大的(~10**6 行,每行有~20 个值)列表,供我以后使用(因此 pickle 缺乏安全性不是问题)。
列表的每一行都是一个值元组,从某个 SQL 数据库派生。到目前为止,我已经看到 datetime.datetime
、字符串、整数和 NoneType,但我最终可能不得不支持其他数据类型。
对于序列化,我考虑过pickle(cPickle)、json和纯文本——但只有pickle保存了类型信息:json不能序列化 datetime.datetime
,而纯文本有其明显的缺点。
但是,对于这么大的数据,cPickle 的速度相当慢,我正在寻找更快的替代方案。
原文由 Guy Adini 发布,翻译遵循 CC BY-SA 4.0 许可协议
我认为您应该看一下 PyTables 。它应该快得离谱,至少比使用 RDBMS 快,因为它非常松散并且不强加任何读/写限制,而且您可以获得更好的数据管理界面,至少与 pickle 相比是这样。