Guy*_*ini 22 python serialization
我试图序列化一个大的(~10**6行,每个有~20个值)列表,稍后由我自己使用(因此pickle缺乏安全性不是问题).
列表的每一行都是一个值元组,派生自某个SQL数据库.到目前为止,我已经看到了datetime.datetime,字符串,整数和NoneType,但我最终可能必须支持其他数据类型.
对于序列化,我考虑了pickle(cPickle),json和纯文本 - 但只有pickle保存了类型信息:json无法序列化datetime.datetime,而纯文本有明显的缺点.
但是,对于这么大的数据,cPickle相当慢,我正在寻找更快的替代方案.
有什么建议?
谢谢!
Jak*_*ger 13
只要您没有使用(默认)ASCII协议,Pickle实际上非常快.只需确保使用转储protocol=pickle.HIGHEST_PROTOCOL.
小智 7
协议缓冲区是一种灵活,高效,自动化的机制,用于序列化结构化数据 - 想想XML,但更小,更快,更简单.
优于XML的优势:
- 更简单
- 比小3到10倍
- 比你快20到100倍
- 不那么暧昧
- 生成更易于以编程方式使用的数据访问类
https://developers.google.com/protocol-buffers/docs/pythontutorial
| 归档时间: |
|
| 查看次数: |
18206 次 |
| 最近记录: |