在 PysSpark 中将字符串类型(Jun 22 2021 1:04PM)转换为 "MMM d, yyyy hh:mm:ss a" 类型的时间戳



我是Pyspark 的新手

我正试图使用下面的代码块将值为Jun 22 2021 1:04PM的字符串转换为时间戳,但它将值设为null,其中显示的数据类型是时间戳

df = df.withColumn("date", F.from_unixtime(F.unix_timestamp("date","MMM d, yyyy hh:mm:ss a"),'yyyy-MM-dd').cast('timestamp'))

您的date的格式为MMM d yyyy hh:mmaa

转换类似上述格式的字符串。喜欢下面的

from pyspark.sql import functions as f
df.withColumn("date_2", f.from_unixtime(f.unix_timestamp("date", 'MMM d yyyy hh:mmaa'),'MM-dd-yyyy HH:mm:ss')).show()

试试这个:

df=df.withColumn("date", from_unixtime(unix_timestamp(col("date"), "MMM d, yyyy hh:mm:ss a"),"yyyy-MM-dd")).show(false)

相关内容

最新更新