PySpark DataFrame 的toJSON(~)
方法將DataFrame 轉換為string-typed RDD。當提取RDD數據時,DataFrame的每一行將被轉換為字符串JSON。請參閱下麵的示例以進行說明。
參數
1. use_unicode
| boolean
轉換過程中是否使用unicode。默認情況下,use_unicode=True
。
返回值
MapPartitionsRDD
對象。
例子
考慮以下PySpark DataFrame:
df = spark.createDataFrame([["André", 20], ["Bob", 30], ["Cathy", 30]], ["name", "age"])
df.show()
+-----+---+
| name|age|
+-----+---+
|André| 20|
| Bob| 30|
|Cathy| 30|
+-----+---+
將 PySpark DataFrame 的第一行轉換為字典
要將 PySpark DataFrame 的第一行轉換為 string-encoded JSON:
df.toJSON().first()
'{"name":"André","age":20}'
要將 string-encoded JSON 轉換為本機 dict
:
import json
json.loads(df.toJSON().first())
{'name': 'André', 'age': 20}
將 PySpark DataFrame 轉換為行對象列表(字典)
要將 PySpark DataFrame 轉換為 string-encoded JSON 列表:
df.toJSON().collect()
['{"name":"André","age":20}',
'{"name":"Bob","age":30}',
'{"name":"Cathy","age":30}']
要將 PySpark DataFrame 轉換為本機 dict
列表:
df.toJSON().map(lambda str_json: json.loads(str_json)).collect()
[{'name': 'André', 'age': 20},
{'name': 'Bob', 'age': 30},
{'name': 'Cathy', 'age': 30}]
這裏:
-
我們使用
RDD.map(~)
方法在 RDD 的每個元素上應用自定義函數。 -
我們的自定義函數將每個 string-encoded JSON 轉換為
dict
。
將 PySpark DataFrame 行轉換為字符串 JSON 時禁用 unicode
默認情況下,啟用 unicode:
df.toJSON().first() # use_unicode=True
'{"name":"André","age":20}'
要禁用 unicode,請設置 use_unicode=False
:
df.toJSON(use_unicode=False).first()
b'{"name":"Andr\xc3\xa9","age":20}'
相關用法
- Python Pandas DataFrame to_csv方法用法及代碼示例
- Python PySpark DataFrame toDF方法用法及代碼示例
- Python Pandas DataFrame to_period方法用法及代碼示例
- Python Pandas DataFrame to_json方法用法及代碼示例
- Python PySpark DataFrame toPandas方法用法及代碼示例
- Python Pandas DataFrame to_timestamp方法用法及代碼示例
- Python Pandas DataFrame to_numpy方法用法及代碼示例
- Python Pandas DataFrame to_dict方法用法及代碼示例
- Python Pandas DataFrame tz_convert方法用法及代碼示例
- Python Pandas DataFrame tail方法用法及代碼示例
- Python Pandas DataFrame transform方法用法及代碼示例
- Python Pandas DataFrame truncate方法用法及代碼示例
- Python Pandas DataFrame tz_localize方法用法及代碼示例
- Python Pandas DataFrame truediv方法用法及代碼示例
- Python Pandas DataFrame transpose方法用法及代碼示例
- Python Pandas DataFrame tshift方法用法及代碼示例
- Python Pandas DataFrame take方法用法及代碼示例
- Python PySpark DataFrame tail方法用法及代碼示例
- Python PySpark DataFrame transform方法用法及代碼示例
- Python PySpark DataFrame take方法用法及代碼示例
- Python Pandas DataFrame empty屬性用法及代碼示例
- Python Pandas DataFrame pop方法用法及代碼示例
- Python Pandas DataFrame nsmallest方法用法及代碼示例
- Python Pandas DataFrame sample方法用法及代碼示例
- Python Pandas DataFrame items方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark DataFrame | toJSON method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。