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|
+----------+