我已经使用 Python 很长一段时间了,脚本命令行工具等。我现在正在使用该语言进行数据分析;是否有处理较大 json 文件的任何提示。特别是,确定系统、线程/多处理等的适当规格。
我发现处理基本任务需要花费大量时间;我使用 python 读取和处理大文件(即日志文件),它似乎运行得更快。
例如,我从 catalog.data.gov 下载了一个用于交通违规的 json 文件。该文件大小为 758Mb,做一些非常简单的事情需要很长时间。
>>> import ijson
>>>
>>> filename = 'rows.json'
>>> with open(filename, 'r') as f:
... objects = ijson.items(f, 'meta.view.columns.item')
... columns = list(objects)
... print columns[0]
... f.close()
...
{u'name': u'sid', u'format': {}, u'dataTypeName': u'meta_data', u'fieldName': u':sid', u'renderTypeName': u'meta_data', u'position': 0, u'id': -1, u'flags': [u'hidden']}
我以前使用过 json,但这似乎需要很长时间才能完成如此简单的事情。我是在具有 4GB RAM(约 2G 免费)的笔记本电脑上执行此操作的。