问题描述
df1_schema = StructType([StructField("Date",StringType(),True) ])
df_data = [('1-Jun-20',)]
rdd = sc.parallelize(df_data)
df1 = sqlContext.createDataFrame(df_data,df1_schema)
#df1 = df1.withColumn("Date",to_date("Date",'yyyy-MM-dd'))
df1.show()
+--------+
| Date|
+--------+
|1-Jun-20|
+--------+
我试图更改为日期格式,但它只是给我一个空值。 这是我尝试过的:
df1= df1.withColumn("Date2",F.to_date(col('Date'),"dd-MM-yyyy"))
+----------+-----+
| Date|Date2|
+----------+-----+
|1-Jun-20 | null|
+----------+-----+
对此有任何解决方案吗?。谢谢
解决方法
您的Date
的正确格式为"d-MMM-yy"
df1.withColumn("Date2",F.to_date(col('Date'),"d-MMM-yy")).show()
+--------+----------+
| Date| Date2|
+--------+----------+
|1-Jun-20|2020-06-01|
+--------+----------+
这也适用于01-Jun-20
或10-Jun-20
。