pyspark: конвертировать строку в формат даты без минуты, декодирования и часа - PullRequest
0 голосов
/ 21 октября 2019

Здравствуйте. Я хотел бы преобразовать строковую дату в формат даты: например, с 190424 по 2019-01-24. Я пытаюсь использовать этот код:

tx_wd_df = tx_wd_df.select(
    'dateTransmission', 
    from_unixtime(unix_timestamp('dateTransmission', 'yymmdd')).alias('dateTransmissionDATE')
)

Но я получил этот формат: 2019-01-24 00:04:00 Я хотел бы только 2019-01-24 Любая идея, пожалуйста?

Спасибо

tx_wd_df.show(truncate=False)

1 Ответ

0 голосов
/ 21 октября 2019

Вы можете просто использовать to_date(). Это отменит оставшуюся часть даты и выберет только тот формат, который соответствует входной строке формата даты.

import pyspark.sql.functions as F

date_column = "dateTransmission"
# MM because mm in Java Simple Date Format is minutes, and MM is months
date_format = "yyMMdd"
df = df.withColumn(date_column, F.to_date(F.col(date_column), date_format))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...