在 pyspark 中将字符串日期转换为日期

问题描述 投票:0回答:1

我在数据框中有一列具有这样的字符串日期:

 date
'Apr 7 2022 12:00AM'
'Apr 17 2022 12:00AM'

我想将其转换为日期列并期望这样:

date
2022-04-07
2022-04-17

我用过这段代码:

df = df.withColumn("date",to_date(F.to_timestamp(df.date,'MMM dd yyyy')))

但它给了我这个错误:

Caused by: DateTimeParseException: Text 'Apr 7 2022 12:00AM' could not be parsed at index 4

任何人都有这方面的经验。任何帮助将不胜感激?

dataframe date pyspark databricks
1个回答
0
投票

使用准确的解析字符串。这是reference.


data = [
    ['Apr 7 2022 12:00AM'],
    ['Apr 17 2022 12:00AM']
]
cols = ['date']

df = spark.createDataFrame(data, cols)

df.withColumn('date', f.to_date(f.to_timestamp('date', 'MMM d yyyy hh:mma'))) \
  .show(truncate=False)

+----------+
|date      |
+----------+
|2022-04-07|
|2022-04-17|
+----------+
© www.soinside.com 2019 - 2024. All rights reserved.