取消
顯示的結果
而不是尋找
你的意思是:

將mon-yy格式轉換為日期,但輸出顯示為空

維克斯
新的貢獻者三世

我列有個約會,法律格式和我想轉換成pyspark dd-mm-yyyy格式

例如我有日期列的值

2019年1月-

2020年2月,

3月- 2020

我期望的輸出

01/01/2019

01/02/2020

01/03/2020

這是他我編寫的代碼,但伴隨著null值

df2 = input_df.withColumn (“mon-yr to_date(坳(“mon-yr”)、“MM / dd / yyyy”))

df2.show ()

任何幫助都是讚賞

謝謝你!

維克斯

1接受解決方案

接受的解決方案

匿名
不適用

@vikram sinhha:這個答案有幫助嗎?

將“法律”格式的日期列在PySpark“dd-mm-yyyy”格式,你可以遵循以下步驟:

  1. 首先,您需要添加組件到您的一天日期值自to_date()函數需要一個完成日期。您可以使用concat()函數來添加法律價值觀的那一天。
  2. 然後,您可以使用to_date()函數與相應的日期格式解析修改日期值。
  3. 最後,您可以使用date_format()函數來解析日期轉換成所需的“dd-mm-yyyy”格式。

這裏有一個例子如何修改代碼來實現所需的輸出:

從pyspark.sql。進口concat函數,點燃,to_date date_format df2 = input_df。withColumn (“mon-yr-day concat(坳(“mon-yr”),點燃(" -01 ")))df2 = df2。withColumn(“日期”,to_date(坳(“mon-yr-day”)、“MMM-yyyy-dd”)) df2 = df2。withColumn (formatted_date date_format(坳(“日期”),“dd / MM / yyyy”)) df2.show ()

在上麵的代碼中,我們首先添加一天組件(“01”)法律價值觀使用concat()和點燃(“-01”)。然後,我們使用to_date()來解析“MMM-yyyy-dd”的修改日期格式。最後,我們使用date_format()來解析日期轉換成“dd / MM / yyyy”格式。這應該給你預期的輸出:

+ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + | mon-yr | |日期formatted_date | + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + jan - 2019 | 2019-01-01 | | 01/01/2019 | | 2月- 2020 | 2020-02-01 | 01/02/2020 | | mar - 2020 | 2020-03-01 | 01/03/2020 | + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - +

在原帖子查看解決方案

5回複5

Lakshay
尊敬的貢獻者三世
尊敬的貢獻者三世

嗨@vikram sinhha問題發生,因為你提供的輸入不是一個有效的日期格式。to_date希望你提供正確的日期格式。您需要添加的日期值mon-yr列之前to_date函數

Vartika
主持人
主持人

嗨@vikram sinhha,

希望一切進行得很順利。

@Lakshay戈埃爾的回答有幫助嗎?如果是這樣,你會很高興它標記為最好?如果沒有,請告訴我們,我們可以幫助你。

謝謝!

維克斯
新的貢獻者三世

嗨Vartika,

謝謝你的檢查。

不幸的是,它還沒有解決……

謝謝,

維克斯

匿名
不適用

@vikram sinhha:這個答案有幫助嗎?

將“法律”格式的日期列在PySpark“dd-mm-yyyy”格式,你可以遵循以下步驟:

  1. 首先,您需要添加組件到您的一天日期值自to_date()函數需要一個完成日期。您可以使用concat()函數來添加法律價值觀的那一天。
  2. 然後,您可以使用to_date()函數與相應的日期格式解析修改日期值。
  3. 最後,您可以使用date_format()函數來解析日期轉換成所需的“dd-mm-yyyy”格式。

這裏有一個例子如何修改代碼來實現所需的輸出:

從pyspark.sql。進口concat函數,點燃,to_date date_format df2 = input_df。withColumn (“mon-yr-day concat(坳(“mon-yr”),點燃(" -01 ")))df2 = df2。withColumn(“日期”,to_date(坳(“mon-yr-day”)、“MMM-yyyy-dd”)) df2 = df2。withColumn (formatted_date date_format(坳(“日期”),“dd / MM / yyyy”)) df2.show ()

在上麵的代碼中,我們首先添加一天組件(“01”)法律價值觀使用concat()和點燃(“-01”)。然後,我們使用to_date()來解析“MMM-yyyy-dd”的修改日期格式。最後,我們使用date_format()來解析日期轉換成“dd / MM / yyyy”格式。這應該給你預期的輸出:

+ - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + | mon-yr | |日期formatted_date | + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - + jan - 2019 | 2019-01-01 | | 01/01/2019 | | 2月- 2020 | 2020-02-01 | 01/02/2020 | | mar - 2020 | 2020-03-01 | 01/03/2020 | + - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - +

Baidu
map