2016-04-24 132 views
0

我需要通過30meg json文件循環,這是一個大文件的文本。當簡單地使用。此外,我正在使用沃爾瑪https://developer.walmartlabs.com/docs/read/Special_Feeds的飼料。我不確定是否有人熟悉這一點。Python json解析非常大的文件

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 

`

我認爲這是因爲該文件是如此之大。 我也嘗試過流文件並得到一個內存錯誤。

什麼選擇/什麼建議處理這些非常大的文件? 這裏是一個鏈接到包含文件的一些輸出的previouse問題。 python ijson large file loop to get names

+0

它是文件中的JSON數組嗎?或只是一組JSON對象? – user3667569

+0

使用jsonlint驗證您是否有有效的json文件 – user1767754

+0

只是一組對象,我不知道如何使用simplejson來獲取不同的錯誤。 – turtle02

回答

0

No JSON object could be decoded錯誤表示您的json數據包含無效的JSON數據。 30MB非常小,不應該是你的問題。

您可以使用simplejson獲得更好的錯誤消息,以便準確查看json包含錯誤的位置。

+0

是的。我同意。 JSON對大文件沒有問題。 – user3667569

+0

@ user3667569如果您同意答案,請使用+1按鈕,而不是寫評論。謝謝 ! – user312016

+1

我的評論是 - JSON沒有在您的初始答案中沒有的大文件的問題。 – user3667569