我有一個小于 1Gb 的 json 檔案。我正在嘗試使用以下簡單命令讀取具有 400 Gb RAM 的服務器上的檔案:
df = pd.read_json('filepath.json')
但是這段代碼需要永遠(幾個小時)才能執行,我嘗試了幾個建議,例如
df = pd.read_json('filepath.json', low_memory=False)
要么
df = pd.read_json('filepath.json', lines=True)
但沒有一個奏效。為什么將 1GB 的檔案讀入 400GB 的服務器會這么慢?
uj5u.com熱心網友回復:
JSON 模塊,然后進入 Pandas
import json
import pandas as pd
data = json.load(open("your_file.json", "r"))
df = pd.DataFrame.from_dict(data, orient="index")
直接使用熊貓
df = pd.read_json("test.json", orient="records", lines=True, chunksize=5)
你說這個選項會給你一個記憶體錯誤,但是有一個選項可以幫助你解決這個問題。傳遞lines=True,然后使用塊大小引數指定在一個塊中讀取多少行。以下將回傳一個您可以迭代的物件,并且每次迭代將只讀取 5
uj5u.com熱心網友回復:
您可以使用 Chunking 可以縮小記憶體使用量。我建議 Dask Library 可以并行加載資料。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/432466.html
