使用json 模块解析json需要单次全部载入所有内容,在文件过大时已经不能处理。所以想是否有流式解析json的库可用
稍微搜索了一下找到了ijson
ijson 官方介绍
如其他python 库一样可直接使用pip 直接安装 pip install ijson
正如文档 Backends 中提及的 ijson 提供了几个版本的解析实现
build\yajl-2.1.0\lib\Release
文件夹中即可找到生成的动态库pip install yajl-py
import ijson.backends.yajl2_cffi as ijson
使用yajl2_cffi 确实会比python 版本快一些 同样的文件 只需要17 分钟
with open(filePath, ‘r‘) as load_f:
objects = ijson.items(load_f, ‘traceEvents.item‘,use_float=True)
for v in objects:
pass
使用 use_float
选项会将非整数以float 形式返回。这也能让解析速度更快一些。
原文:https://www.cnblogs.com/jiyihuizhongxing/p/13673414.html