當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


Python dask.dataframe.read_json用法及代碼示例


用法:

dask.dataframe.read_json(url_path, orient='records', lines=None, storage_options=None, blocksize=None, sample=1048576, encoding='utf-8', errors='strict', compression='infer', meta=None, engine=<function read_json>, include_path_column=False, path_converter=None, **kwargs)

從一組 JSON 文件創建 DataFrame

這利用了 pandas.read_json() ,並且大多數參數都通過 - 請參閱其文檔字符串。

區別:orient默認為‘records’,lines=True;這適用於 line-delimited “JSON-lines” 數據,這種 JSON 輸出在 big-data 場景中最常見,並且在讀取時可以分塊(參見 read_json() )。所有其他選項都需要 blocksize=None,即每個輸入文件一個分區。

參數

url_path: str, list of str

讀取位置。如果是字符串,可以包含一個 glob 字符來查找一組文件名。支持"s3://"等協議規範。

encoding, errors:

要實現的文本編碼,例如 “utf-8” 以及如何響應轉換中的錯誤(參見 str.encode() )。

orient, lines, kwargs

傳遞給 Pandas ;如果未指定,則當 orient='records' 時,lines=True,否則為 False。

storage_options: dict

傳遞給後端file-system 實現

blocksize: None or int

如果沒有,文件不會被阻塞,並且每個輸入文件都有一個分區。如果是 int,它隻能用於 line-delimited JSON 文件,每個分區將大約是這個大小(以字節為單位),到最近的換行符。

sample: int

要預加載的字節數,為沒有數據的任何塊提供空數據幀結構。僅在使用塊大小時相關。

encoding, errors:

文本轉換,see bytes.decode()

compression字符串或無

‘gzip’ or ‘xz’ 之類的字符串。

engine函數對象,默認 pd.read_json

dask 將用於讀取 JSON 文件的底層函數。默認情況下,這將是 pandas JSON 閱讀器(pd.read_json)。

include_path_columnbool 或 str,可選

在 DataFrame 中每一行的來源文件路徑中包含一列。如果是 True ,則會在名為 path 的 DataFrame 中添加一個新列。如果 str ,設置新的列名。默認為 False

path_converter函數或無,可選

一個接受一個參數並返回一個字符串的函數。用於轉換path 列中的路徑,例如,從所有路徑中去除公共前綴。

metapd.DataFrame、pd.Series、dict、可迭代、元組、可選

與輸出的 dtypes 和列名匹配的空 pd.DataFramepd.Series。此元數據對於 dask 數據幀中的許多算法起作用是必需的。為了便於使用,還提供了一些替代輸入。可以提供 {name: dtype}dict(name, dtype) 的可迭代對象,而不是 DataFrame (請注意,名稱的順序應與列的順序匹配)。可以使用(name, dtype) 的元組代替係列。如果未提供,dask 將嘗試推斷元數據。這可能會導致意外結果,因此建議提供meta。有關詳細信息,請參閱 dask.dataframe.utils.make_meta

返回

dask.DataFrame

例子

加載單個文件

>>> dd.read_json('myfile.1.json')

加載多個文件

>>> dd.read_json('myfile.*.json')
>>> dd.read_json(['myfile.1.json', 'myfile.2.json'])

使用大約 256MB 大小的分區加載大型 line-delimited JSON 文件

>> dd.read_json(‘數據/文件*.csv’, blocksize=2**28)

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.dataframe.read_json。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。