[FIXED] Konvertieren Sie seltsame Datumszeichenfolgen in das Datumsformat in Pyspark

Ausgabe

Ich habe eine CSV-Datei mit der Datumsspalte. Das Datum kommt in einem seltsamen Format. Nachfolgend einige Beispiele:

  • 9. Mai 2022
  • 17.09.2022
  • 09. Juni 2022

Ich erstelle einen Glue-Job, um Daten in Redshift zu laden.

Wie konvertiere ich diese seltsam aussehende Zeichenfolge in das Format YYYY-MM-DD mit dem pyspark-Datenrahmen.

Lösung

Sie können to_datedas Quellformat — verwenden und weitergeben "MMMM 'the' d'th of' yyyy".

Wie von blackbishop erzogen, verwenden "MMMM 'the' dd['st']['nd']['rd']['th'] 'of' yyyy", um alle Fälle zu behandeln (1., 2., 3., 4. …)

spark.sparkContext.parallelize([('May the 9th of 2022',), ('September the 17th of 2022',)]).toDF(['dt_str']). \
    withColumn('dt', func.to_date('dt_str', "MMMM 'the' d'th of' yyyy")). \
    show(truncate=False)

# +--------------------------+----------+
# |dt_str                    |dt        |
# +--------------------------+----------+
# |May the 9th of 2022       |2022-05-09|
# |September the 17th of 2022|2022-09-17|
# +--------------------------+----------+


Beantwortet von –
samkart


Antwort geprüft von –
Jay B. (FixError Admin)

0 Shares:
Leave a Reply

Your email address will not be published. Required fields are marked *

You May Also Like