讀取相當大的JSON 檔案
由於JSON 解碼器的預設行為,將大型JSON 檔案載入到Python 中可能會帶來內存挑戰。這些解碼器通常會將整個檔案載入到記憶體中,導致大量檔案出現 MemoryErrors。
解決此問題的關鍵在於利用串流方法,而不是一次載入整個檔案。這涉及到以較小的區塊讀取和處理資料。
解決方案:JSON 流
一種有效的解決方案是使用 ijson 模組實現串流傳輸方法。 Ijson 將 JSON 視為流,允許迭代處理數據,而無需將整個檔案保存在記憶體中。
程式碼範例
<code class="python">from ijson import items with open('file.json', 'r') as f: for event, value in items(f): # Process the current event and value pass</code>
在此範例中, ijson 模組迭代 JSON 數據,提供用於處理的事件和值。這可以避免將整個檔案載入到記憶體中,從而解決初始記憶體錯誤。
替代解決方案
其他值得注意的解決方案包括:
透過利用串流技術,您可以有效地載入和處理大型 JSON 文件,而不會遇到記憶體限制。
以上是如何在 Python 中處理相當大的 JSON 檔案而不出現記憶體錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!