Pyspark Pypark将十进制转换为日期

Pyspark Pypark将十进制转换为日期,pyspark,Pyspark,我看到有一些方法可以将字符串转换为日期,但我看不到任何方法可以将十进制转换为字符串。在我正在处理的其中一个表中,日期的格式为20170924.00000。是否可以将其转换为有效的日期格式 谢谢。您可以转换为int,然后转换为string,然后为to_date函数指定输入格式以获得输出 (欢迎来到SO) df.show() +-----------+ |date | +-----------+ | 20170924.0| +-----------+ from pyspark.

我看到有一些方法可以将字符串转换为日期,但我看不到任何方法可以将十进制转换为字符串。在我正在处理的其中一个表中,日期的格式为
20170924.00000
。是否可以将其转换为有效的日期格式


谢谢。

您可以转换为int,然后转换为string,然后为to_date函数指定输入格式以获得输出

欢迎来到SO)

df.show()

+-----------+
|date       |
+-----------+
| 20170924.0|
+-----------+ 



from pyspark.sql import functions as F
df.withColumn("date", F.to_date(F.col("date").cast("int").cast("string"), "yyyyMMdd")).show()

+----------+
|      date|
+----------+
|2017-09-24|
+----------+

您可以转换为int,然后转换为string,然后将输入格式指定为to_date函数以获得输出

欢迎来到SO)

df.show()

+-----------+
|date       |
+-----------+
| 20170924.0|
+-----------+ 



from pyspark.sql import functions as F
df.withColumn("date", F.to_date(F.col("date").cast("int").cast("string"), "yyyyMMdd")).show()

+----------+
|      date|
+----------+
|2017-09-24|
+----------+