将Double类型列转换为日期格式类型pyspark返回

beq87vna  于 2023-03-13  发布在  Apache
关注(0)|答案(1)|浏览(132)

我有一个双列 Dataframe (20180310),我想将其转换为日期格式(2018-03-10)。
我使用这个函数:

df.withColumn(
    "new_col", 
    F.to_date(F.col("old_col").cast("string"), "yyyyMMdd")
)

但它返回错误消息或Null。
你有什么想法吗?

hujrc8aj

hujrc8aj1#

因为当您从double转换为string时,列将具有以下形式:2.018031E7
在转换为字符串之前先转换为整数:

df.withColumn( "new_col", F.to_date(F.col("old_col").cast("integer").cast("string"), "yyyyMMdd"))

相关问题