我有一个包含多个列的Spark DataFrame,我想将其中一列中的日期解析为一个单独的列.对于以下两行,预期输出如下所示:

'www.freelancer/hello/there/I/am/2024/01/03/every/woijf123oijroa.fiow.com'
'www.freelancer/camping/fun/2024/02/14/foijaoijf83747199.1.com'

预期日期输出:

2024/01/03
2024/02/14
  • df.withColumn('date', split(col('website'), '/')[5])不起作用,因为正斜杠不遵循设定的模式,即使它们遵循,输出结果也是在两个括号之间,而不是在多个括号之间.

  • try 使用locate()查找日期开始的索引,并从该索引中提取10个值,但它不能正常工作.

推荐答案

您可以使用以下正则表达式:

20[012]\d/\d{2}/\d{2}

a demo on regex101.com.

Python相关问答推荐

在Python中添加期货之间的延迟

如何在telegram 机器人中发送音频?

具有2D功能的Python十六进制图

通过交换 node 对链接列表进行 Select 排序

理解Python的二分库:澄清bisect_left的使用

将DF中的名称与另一DF拆分并匹配并返回匹配的公司

将jit与numpy linSpace函数一起使用时出错

ModuleNotFound错误:没有名为Crypto Windows 11、Python 3.11.6的模块

如何让剧作家等待Python中出现特定cookie(然后返回它)?

在Pandas DataFrame操作中用链接替换'方法的更有效方法

从numpy数组和参数创建收件箱

发生异常:TclMessage命令名称无效.!listbox"

从dict的列中分钟

如何在Python数据框架中加速序列的符号化

当独立的网络调用不应该互相阻塞时,'

海上重叠直方图

SQLAlchemy bindparam在mssql上失败(但在mysql上工作)

为什么numpy. vectorize调用vectorized函数的次数比vector中的元素要多?

Python—压缩叶 map html作为邮箱附件并通过sendgrid发送

如何删除重复的文字翻拍?