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


Python pyspark DataFrame.to_json用法及代碼示例


本文簡要介紹 pyspark.pandas.DataFrame.to_json 的用法。

用法:

DataFrame.to_json(path: Optional[str] = None, compression: str = 'uncompressed', num_files: Optional[int] = None, mode: str = 'w', orient: str = 'records', lines: bool = True, partition_cols: Union[str, List[str], None] = None, index_col: Union[str, List[str], None] = None, **options: Any) → Optional[str]

將對象轉換為 JSON 字符串。

注意

pandas-on-Spark to_json 將文件寫入路徑或 URI。與 pandas 不同,pandas-on-Spark 尊重 HDFS 的屬性,例如“fs.default.name”。

注意

pandas-on-Spark 將 JSON 文件寫入目錄 path ,並在指定 path 時在目錄中寫入多個 part-… 文件。此行為繼承自 Apache Spark。文件的數量可以通過 num_files 來控製。

注意

輸出 JSON 格式與 pandas 不同。它始終使用orient=’records’ 作為其輸出。這種行為可能必須在不久的將來改變。

注意 NaN 和 None 將被轉換為 null,而 datetime 對象將被轉換為 UNIX 時間戳。

參數

path字符串,可選

文件路徑。如果未指定,則結果以字符串形式返回。

lines布爾值,默認為真

如果‘orient’是‘records’寫出行分隔的json格式。如果 ‘orient’ 不正確,則會拋出 ValueError,因為其他的未列出。目前它應該始終為 True。

orientstr,默認 ‘records’

現在應該總是‘records’。

compression{‘gzip’, ‘bz2’,‘xz’,無}

表示要在輸出文件中使用的壓縮的字符串,僅在第一個參數是文件名時使用。默認情況下,壓縮是從文件名推斷出來的。

num_filespath 目錄中要寫入的文件數

這是一條路徑。

modestr

Python寫模式,默認‘w’。

注意

mode 可以接受用於 Spark 寫入模式的字符串。如‘append’, ‘overwrite’, ‘ignore’, ‘error’, ‘errorifexists’。

  • ‘append’(相當於‘a’):將新數據追加到現有數據。

  • ‘overwrite’(相當於‘w’):覆蓋現有數據。

  • ‘ignore’:如果數據已存在,則靜默忽略此操作。

  • ‘error’ 或 ‘errorifexists’:如果數據已存在,則拋出異常。

partition_colsstr 或 str 列表,可選,默認無

分區列的名稱

index_col: str or list of str, optional, default: None

在 Spark 中用於表示 pandas-on-Spark 的索引的列名。 pandas-on-Spark 中的索引名稱被忽略。默認情況下,索引總是丟失。

options: keyword arguments for additional options specific to PySpark.

它特定於要傳遞的 PySpark 的 JSON 選項。檢查 PySpark 的 API 文檔中的選項 spark.write.json(…) 。它具有更高的優先級並覆蓋所有其他選項。此參數僅在指定path 時有效。

返回

str 或 None

例子

>>> df = ps.DataFrame([['a', 'b'], ['c', 'd']],
...                   columns=['col 1', 'col 2'])
>>> df.to_json()
'[{"col 1":"a","col 2":"b"},{"col 1":"c","col 2":"d"}]'
>>> df['col 1'].to_json()
'[{"col 1":"a"},{"col 1":"c"}]'
>>> df.to_json(path=r'%s/to_json/foo.json' % path, num_files=1)
>>> ps.read_json(
...     path=r'%s/to_json/foo.json' % path
... ).sort_values(by="col 1")
  col 1 col 2
0     a     b
1     c     d
>>> df['col 1'].to_json(path=r'%s/to_json/foo.json' % path, num_files=1, index_col="index")
>>> ps.read_json(
...     path=r'%s/to_json/foo.json' % path, index_col="index"
... ).sort_values(by="col 1")  
      col 1
index
0         a
1         c

相關用法


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