我正在处理芝加哥数据集,日期列是字符串格式,由日期组成,但有两种不同的格式:
Row(Date='01/10/2008 12:00'),
Row(Date='02/25/2008 08:20:53 PM')
我找到了下面的代码并尝试了这两种格式(我不确定是否正确),但由于它包含两种格式,下面的两种代码都收到了找不到格式的错误消息。
data_clean = data_clean.withColumn("Date_dt", f.from_unixtime(f.unix_timestamp("Date",'MM/dd/yy hh:mm:ss aa'),'MM/dd/yyyy HH:mm:ss'))
data_clean.withColumn("Date_dt", to_timestamp("Date", "MM/dd/yy HH:mm")).show(1, False)
我也找到了以下解决方案,但我需要有一个日期时间格式,包括小时和分钟作为输出:
from pyspark.sql.functions import coalesce, to_date
def to_date_(col, formats=("MM/dd/yyyy", "yyyy-MM-dd")):
return coalesce(*[to_date(col, f) for f in formats])
您有什么建议来检查格式并根据它转换格式?
1条答案
按热度按时间eagi6jfj1#
你可以用
date_format
要将解析的日期转换为所需的格式,请执行以下操作: