Pyspark,在字符串中间添加一个字符

Bry*_*ker 3 python split apache-spark pyspark

假设我有一个像这样的字符串列

Hour
0045
2322
Run Code Online (Sandbox Code Playgroud)

我希望它变成这样:

Hour
00:45
23:22   
Run Code Online (Sandbox Code Playgroud)

为了变成时间戳之后.我该怎么办呢?

phi*_*ert 7

您可以使用 regexp_replace

from pyspark.sql.functions import col, regexp_replace

df.withColumn("Hour", regexp_replace(col("Hour") ,  "(\\d{2})(\\d{2})" , "$1:$2" ) ).show()

+-----+
| hour|
+-----+
|00:45|
|00:50|
+-----+
Run Code Online (Sandbox Code Playgroud)