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

Pyspark实现时分字符串转秒数:能否用2-3行代码完成?

PySpark实现时分字符串转总秒数

当然没问题!用Spark的内置字符串和数值函数,2-3行就能搞定这个转换需求:

简洁版(2行)

from pyspark.sql import functions as F

df = df.withColumn("total_seconds", F.split(F.col("c1"), ":")[0].cast("int")*3600 + F.split(F.col("c1"), ":")[1].cast("int")*60)

高效版(3行,避免重复拆分)

如果想减少字符串拆分的次数提升效率,可以先把拆分结果存为临时字段,用完再删掉:

from pyspark.sql import functions as F

df = df.withColumn("time_parts", F.split(F.col("c1"), ":")) \
       .withColumn("total_seconds", F.col("time_parts")[0].cast("int")*3600 + F.col("time_parts")[1].cast("int")*60) \
       .drop("time_parts")

原理很简单:split函数把c1里的时分字符串按冒号拆分成数组,分别提取小时和分钟部分转成整数,再各自转换成秒数后相加。测试下来,"23:34"会得到84840,"00:30"得到1800,完全符合你的要求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 07:01:35