簡體   English   中英

處理具有多個根元素的大型 JSON 並讀入 pandas dataframe

[英]Processing large JSON with multiple root elements and read into pandas dataframe

我想(預)處理包含多個根元素的大型 JSON 文件(每個 5-10GB)。 這些根元素彼此跟隨,沒有分隔符,如下所示:{}{}....

所以我先寫了下面的簡單代碼,得到一個有效的 JSON 文件:

with open(file) as f: 
    file_data = f.read()
    file_data = file_data.replace("}{", "},{") 
    file_data = "[" + file_data + "]"
    df = pd.read_json(file_data)

顯然這不適用於大文件。 即使是 400MB 的文件也不起作用。 (我有 16GB 內存)

我已經讀過可以使用塊,但我無法在“塊邏輯”中得到它有沒有辦法“塊化”這個?

我很高興你的幫助。

我很難想象多根元素的想法,但是您應該將 file_data 內容寫入磁盤並嘗試單獨讀取它。 如果您打開文件,除了 file_data object (甚至可能是修改后的 object,盡管這是一個垃圾收集器問題。我認為垃圾收集在 ZC1C425268E68385D1AB5074 返回后完成)之外,它還會消耗 RAM。 f.close 顯式而不是 with 並從單獨的 function 返回。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM