Python json解析非常大的文件

时间:2016-04-24 22:42:44

标签: python json

我需要遍历一个30meg的json文件,这是一个只有文本的大文件。当简单地使用。我也使用来自沃尔玛https://developer.walmartlabs.com/docs/read/Special_Feeds的Feed。我不确定是否有人熟悉这一点。

data = json.loads(open('file.json').read()) print data

我收到此错误`

Traceback (most recent call last):
  File "/home/python/Desktop/read.py", line 21, in <module>
    data = json.loads(open('rolback.json').read())
  File "/usr/lib/python2.7/json/__init__.py", line 338, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python2.7/json/decoder.py", line 366, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python2.7/json/decoder.py", line 384, in raw_decode
    raise ValueError("No JSON object could be decoded")
ValueError: No JSON object could be decoded

`

我认为这是因为文件太大了。 我还尝试流式传输文件并出现内存错误。

有哪些选项/建议处理这些非常大的文件? 以下是包含该文件输出的前一个问题的链接。 python ijson large file loop to get names

1 个答案:

答案 0 :(得分:0)

No JSON object could be decoded错误表示您的json数据包含无效的JSON数据。 30MB非常小,不应该是你的问题。

您可以使用simplejson获取更好的错误消息,以便准确查看json包含错误的位置。