2
我想使用json_normalize()函數將大型(大約900 MB)json文件規範化爲熊貓數據幀。這適用於我正在處理的所有其他文件(大小在150-500 MB之間),儘管它們每個都需要幾分鐘才能完成。然而,這個文件似乎只是永遠運行,永遠不會結束。我已經嘗試使用read_json()在正常化之前直接讀取json文件到DataFrame中,以及簡單地使用json.loads()從文件中加載json。兩種方法都有相同的結果。我正在使用的代碼是:熊貓json_normalize不能在Python中使用大型JSON文件
import pandas as pd
import json
path = mf.getPath('dataFile.json')
testTrials = json.loads(open(path)) #testTrials = pd.read_json(path)
testTrials = json_normalize(testTrials['rows'])
您的系統有多少內存?你的數據結構如何嵌套?你需要將所有數據加載到框架中嗎?鑑於'nested_to_record'(由'json_normalize'使用)爲每個字典做了深層複製,所以你需要大量的內存,我認爲它超過了3-4Gb。查看有多少RAM使用500MB文件進行估算。 – Rolando
@Rho將可用的8 GB內存封裝起來。我使用了一種使用ijson逐行讀取的新方法,這樣可以完成該過程,但需要30分鐘。 – drew01886