Pyspark 如何将字符串更改为日期格式?
这可能是重复的地方,但我有一个简单的df:Pyspark 如何将字符串更改为日期格式?,pyspark,apache-spark-sql,pyspark-dataframes,Pyspark,Apache Spark Sql,Pyspark Dataframes,这可能是重复的地方,但我有一个简单的df: 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",t
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|
+----------+-----+
有什么解决办法吗?。。谢谢您的
日期的正确格式是“d-MMM-yy”
这也适用于01-Jun-20
或10-Jun-20
df1.withColumn("Date2", F.to_date(col('Date'), "d-MMM-yy")).show()
+--------+----------+
| Date| Date2|
+--------+----------+
|1-Jun-20|2020-06-01|
+--------+----------+