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

PySpark中如何将String类型转换为Timestamp类型

PySpark:特定格式字符串转Timestamp类型

你的字符串格式是2024-04-02-19.02.20.000000,对应模式为yyyy-MM-dd-HH.mm.ss.SSSSSS,可以用PySpark的to_timestamp函数直接转换,步骤如下:

  1. 导入所需函数
from pyspark.sql.functions import to_timestamp
  1. 执行转换操作
    假设你的数据框名为df,待转换的字符串列名为str_datetime,执行以下代码生成Timestamp类型列:
df = df.withColumn("converted_timestamp", to_timestamp(df.str_datetime, "yyyy-MM-dd-HH.mm.ss.SSSSSS"))

格式说明

格式字符串的每个部分严格匹配输入字符串的结构:

  • yyyy:4位年份
  • MM:2位月份
  • dd:2位日期
  • HH:24小时制小时数
  • mm:分钟
  • ss:秒
  • SSSSSS:6位微秒(对应字符串末尾的6位数字)

兼容旧版本PySpark(2.x及更早)

如果你的PySpark版本较低,to_timestamp可能不支持直接指定微秒格式,可以用unix_timestamp配合from_unixtime实现:

from pyspark.sql.functions import unix_timestamp, from_unixtime

df = df.withColumn("converted_timestamp", from_unixtime(unix_timestamp(df.str_datetime, "yyyy-MM-dd-HH.mm.ss.SSSSSS")).cast("timestamp"))

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.24 17:12:02