如何将字符串值格式为"Dec 25 2022 6:31AM"的列转换为时间戳?
无论我做什么,我仍然在新列中得到空值。
我试过了
import pyspark.sql.functions as fn
df.withColumn('new_ts', fn.col('SendTime').cast("timestamp"))
df.withColumn("new_ts",fn.to_timestamp(fn.col("SendTime")).cast('string'))
df.withColumn('new_ts', (fn.to_timestamp('SendTime', 'yyyy-MM-dd HH:mm:ss.SSS-0300')).cast('date'))
以及其它尝试。
2条答案
按热度按时间9udxz4iz1#
您已经很接近了,to_timestamp在您的情况下是正确的函数,但您需要修复您的日期时间模式。
我就能得出这样的结论:
输出为:
所以我觉得你可以尝试用这个格式:年月日时:分
mznpcxlj2#
Apache PySpark中的to_timestamp()函数通常用于将字符串转换为时间戳(即时间戳类型),时间戳的默认格式为“MM-dd-yyyy HH:mm:ss. SSS”,并且如果输入不是以指定的形式,则返回Null。