当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。