PySpark SQL 函數的 split(~)
方法返回新的 PySpark 數組列,其中包含基於指定分隔符的拆分標記。
參數
1.str
| string
或 Column
要在其中執行拆分的列。
2. pattern
| string
用作分隔符的正則表達式。
3. limit
| int
| optional
-
如果
limit > 0
,則分割標記的結果數組將最多包含limit
標記。 -
如果
limit <=0
,那麽我們執行的分割次數沒有限製。
默認情況下,limit=-1
。
返回值
新的 PySpark 列。
例子
考慮以下PySpark DataFrame:
df = spark.createDataFrame([("A#A",), ("B##B",), ("#C#C#C#",), (None,)], ["x",])
df.show()
+-------+
| x|
+-------+
| A#A|
| B##B|
|#C#C#C#|
| null|
+-------+
在 PySpark 列中按分隔符分割字符串
要將 x
列中的字符串拆分為 "#"
,請使用 split(~)
方法:
df.select(F.split("x", "#")).show()
+---------------+
|split(x, #, -1)|
+---------------+
| [A, A]|
| [B, , B]|
| [, C, C, C, ]|
| null|
+---------------+
在此,請注意以下事項:
-
第二個分隔符參數實際上被解析為正則表達式 - 我們稍後會看到一個例子。
-
拆分
null
會產生null
。
我們還可以使用可選參數 limit
指定要執行的最大分割數:
df.select(F.split("x", "#", 2)).show()
+--------------+
|split(x, #, 2)|
+--------------+
| [A, A]|
| [B, #B]|
| [, C#C#C#]|
| null|
+--------------+
這裏,包含分割標記的數組的長度最多為 2
。這就是為什麽我們仍然在其中看到分隔符子字符串 "#"
的原因。
在 PySpark 列中使用正則表達式拆分字符串
考慮以下PySpark DataFrame:
df = spark.createDataFrame([("A#A",), ("B@B",), ("C#@C",)], ["x",])
df.show()
+----+
| x|
+----+
| A#A|
| B@B|
|C#@C|
+----+
要按字符 #
或 @
進行分割,我們可以使用正則表達式作為分隔符:
df.select(F.split("x", "[#@]")).show()
+------------------+
|split(x, [#@], -1)|
+------------------+
| [A, A]|
| [B, B]|
| [C, , C]|
+------------------+
這裏,正則表達式 [#@]
表示 #
或 @
。
相關用法
- Python PySpark SQL Functions repeat方法用法及代碼示例
- Python PySpark SQL Functions explode方法用法及代碼示例
- Python PySpark SQL Functions concat方法用法及代碼示例
- Python PySpark SQL Functions instr方法用法及代碼示例
- Python PySpark SQL Functions count_distinct方法用法及代碼示例
- Python PySpark SQL Functions dayofmonth方法用法及代碼示例
- Python PySpark SQL Functions date_add方法用法及代碼示例
- Python PySpark SQL Functions array方法用法及代碼示例
- Python PySpark SQL Functions concat_ws方法用法及代碼示例
- Python PySpark SQL Functions col方法用法及代碼示例
- Python PySpark SQL Functions translate方法用法及代碼示例
- Python PySpark SQL Functions dayofweek方法用法及代碼示例
- Python PySpark SQL Functions expr方法用法及代碼示例
- Python PySpark SQL Functions regexp_extract方法用法及代碼示例
- Python PySpark SQL Functions regexp_replace方法用法及代碼示例
- Python PySpark SQL Functions round方法用法及代碼示例
- Python PySpark SQL Functions countDistinct方法用法及代碼示例
- Python PySpark SQL Functions date_format方法用法及代碼示例
- Python PySpark SQL Functions collect_list方法用法及代碼示例
- Python PySpark SQL Functions lit方法用法及代碼示例
- Python PySpark SQL Functions upper方法用法及代碼示例
- Python PySpark SQL Functions length方法用法及代碼示例
- Python PySpark SQL Functions dayofyear方法用法及代碼示例
- Python PySpark SQL Functions trim方法用法及代碼示例
- Python PySpark SQL Functions month方法用法及代碼示例
注:本文由純淨天空篩選整理自Isshin Inada大神的英文原創作品 PySpark SQL Functions | split method。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。