如何将像4/23/19这样的字符串解析为pysark中的时间戳

我有一些来自源文件的日期为19/4/23的列

4是月,23是日,19是2019

如何将其转换为pyspark中的时间戳?

到目前为止

def ParseDateFromFormats(col,formats):
  return coalesce(*[to_timestamp(col,f) for f in formats])

df2 = df2.withColumn("_" + field.columnName,ParseDateFromFormats(df2[field.columnName],["dd/MM/yyyy hh:mm","dd/MM/yyyy","dd-MMM-yy"]).cast(field.simpletypeName))

似乎没有可行的日期格式

kigoor_2 回答:如何将像4/23/19这样的字符串解析为pysark中的时间戳

您的代码无法正常工作的原因可能是使您日复一日地颠倒了。 这有效:

from pyspark.sql.functions import to_date

time_df = spark.createDataFrame([('4/23/19',)],['dt'])
time_df.withColumn('proper_date',to_date('dt','MM/dd/yy')).show()
+-------+-----------+
|     dt|proper_date|
+-------+-----------+
|4/23/19| 2019-04-23|
+-------+-----------+
本文链接:https://www.f2er.com/3101718.html

大家都在问