You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PySpark解析URL中多斜杠分隔的日期字段

从Spark DataFrame的website列提取日期的解决方案

针对你遇到的URL斜杠数量不固定、无法通过固定位置提取日期的问题,最可靠的方法是用正则表达式匹配固定格式的日期字符串——目标日期的格式是固定的YYYY/MM/DD,和前后内容无关,完全可以通过正则精准捕获。

具体实现代码

使用Spark内置的regexp_extract函数,直接匹配并提取符合四位数字/两位数字/两位数字格式的片段:

from pyspark.sql.functions import regexp_extract, col

# 为原DataFrame添加date列
df = df.withColumn('date', regexp_extract(col('website'), r'(\d{4}/\d{2}/\d{2})', 1))

代码说明

  • regexp_extract参数解析:
    1. col('website'):指定要处理的目标列;
    2. r'(\d{4}/\d{2}/\d{2})':正则表达式,\d{4}匹配四位年份,\d{2}匹配两位月份和日期,括号将目标日期标记为捕获组;
    3. 1:表示提取第一个捕获组的内容(即我们需要的日期部分)。

可选:验证日期有效性

如果需要确保提取的字符串是合法日期,可以用to_date函数转换为日期类型,不符合格式的内容会被标记为null:

from pyspark.sql.functions import to_date

df = df.withColumn('valid_date', to_date(col('date'), 'yyyy/MM/dd'))

内容的提问来源于stack exchange,提问作者SunflowerParty

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:13:16