假设我有很多json行要处理,而且我只关心json行中的特定字段。从python中提取json的特定字段
{blablabla, 'whatICare': 1, blablabla}
{blablabla, 'whatICare': 2, blablabla}
....
有什么办法来提取这些JSON行whatICare
withoud loads
呢?由于json行很长,所以从json构建对象可能会很慢。
假设我有很多json行要处理,而且我只关心json行中的特定字段。从python中提取json的特定字段
{blablabla, 'whatICare': 1, blablabla}
{blablabla, 'whatICare': 2, blablabla}
....
有什么办法来提取这些JSON行whatICare
withoud loads
呢?由于json行很长,所以从json构建对象可能会很慢。
不,您将不得不加载并解析JSON,然后才能知道里面的内容并能够过滤出所需的元素。这就是说,如果你担心内存,你可以使用ijson这是一个迭代解析器。它不是一次加载所有内容,它只能加载下一次迭代所需的内容。所以,如果你的文件包含一个对象数组,你可以一次加载和解析一个对象,减少内存影响(因为你只需要在内存中保存一个对象,加上你真正关心的数据)。但它不会变得更快,也不会奇迹般地跳过你不感兴趣的数据。
另一种选择!如果你有巨大的Json文件。将Json文件存储到MYSQL DB,您可以优化您的查询以获得您关心的内容。但是,我不确定这是否是比较下述选项的最佳方式。 – user3378649 2014-10-21 22:41:12