我有一个双列 Dataframe (20180310),我想将其转换为日期格式(2018-03-10)。我使用这个函数:
20180310
2018-03-10
df.withColumn( "new_col", F.to_date(F.col("old_col").cast("string"), "yyyyMMdd") )
但它返回错误消息或Null。你有什么想法吗?
hujrc8aj1#
因为当您从double转换为string时,列将具有以下形式:2.018031E7在转换为字符串之前先转换为整数:
2.018031E7
df.withColumn( "new_col", F.to_date(F.col("old_col").cast("integer").cast("string"), "yyyyMMdd"))
1条答案
按热度按时间hujrc8aj1#
因为当您从double转换为string时,列将具有以下形式:
2.018031E7
在转换为字符串之前先转换为整数: