Я пытаюсь использовать regex_replace для переформатирования столбца даты из ггггммдд в гггг / мм / дд и другого столбца из ЧЧммсс в ЧЧ: мм: сс. Столбцы даты и времени являются строками.
От:
+----------+--------+
| date | time |
+----------+--------+
| 20200326 | 122450 |
+----------+--------+
Кому:
+------------+----------+
| date | time |
+------------+----------+
| 2020/03/26 | 12:24:50 |
+------------+----------+
Вот что я пробовал:
datePattern = "([0-9]{4})([0-9]{2})([0-9]{2})"
timePattern = "([0-9]{2})([0-9]{2})([0-9]{2})"
df.withColumn("date", regexp_replace(df.date, datePattern, "$1/$2/$3"))
df.withColumn("time", regexp_replace(df.time, timePattern, "$1:$2:$3"))
Вот что я получаю:
+----------+--------+
| date | time |
+----------+--------+
| 20200326 | 122450 |
+----------+--------+
Не знаете, где я ошибся? Кроме того, есть ли лучшие практики, чем использование regex_replace?