【发布时间】:2025-11-28 05:35:02
【问题描述】:
我正在尝试用具有: 和+ 的不同且更短的字符串替换字符串的一部分。即使开始列下的值是时间,它也不是时间戳,而是被识别为字符串。
我尝试过使用regexp_replace,但目前不知道如何在“开始”列中指定需要替换的字符串中的最后 8 个字符或指定要替换为新字符串的字符串一个。
df = df.withColumn('replaced', regexp_replace('Start', ':00+10:00', '00Z' ))
例如: 我将从带有列的数据框开始:
| Data | Qualifier | Description | Start |
|:----:|:---------:|:-----------:|:------------------------:|
|12 | 54 | apple |2021-03-03T02:00:00+10:00 |
|24 | 32 | banana |2021-03-04T22:30:00+10:00 |
|24 | 32 | orange |2021-03-04T11:58:00+10:00 |
并希望将 Start 列替换为名为“Replaced”的新列或保留“Start”列标题。
预期输出:
| Data | Qualifier | Description | Replaced |
|:----:|:---------:|:-----------:|:------------------------:|
|12 | 54 | apple |2021-03-03T02:00:00Z |
|24 | 32 | banana |2021-03-04T22:30:00Z |
|24 | 32 | orange |2021-03-04T11:58:00Z |
【问题讨论】:
标签: python dataframe apache-spark pyspark regexp-replace