Azure Databricks中PySpark将yyyymmdd日期转为mm/dd/yyyy
在Azure Databricks中转换PySpark DataFrame日期格式(yyyymmdd → mm/dd/yyyy)
实现脚本
假设你的date列是字符串类型(存储值如"20210720"),可以直接用to_date和date_format函数完成转换:
# 导入必要的PySpark函数 from pyspark.sql.functions import to_date, date_format # 转换日期格式,生成新列formatted_date df_formatted = df1.withColumn( "formatted_date", date_format(to_date("date", "yyyyMMdd"), "MM/dd/yyyy") ) # 在Databricks中查看结果 display(df_formatted)
如果你的date列是整数类型(存储值如20210720),需要先将其转为字符串再处理:
from pyspark.sql.functions import to_date, date_format, col # 先转字符串,再转换日期格式 df_formatted = df1.withColumn("date_str", col("date").cast("string")) \ .withColumn( "formatted_date", date_format(to_date("date_str", "yyyyMMdd"), "MM/dd/yyyy") ) \ .drop("date_str") # 移除中间生成的临时列 display(df_formatted)
关键函数说明
to_date("date", "yyyyMMdd"):将原格式的字符串/转换后的字符串解析为PySpark的日期类型,第二个参数是原字符串的格式。date_format(日期类型列, "MM/dd/yyyy"):将日期类型列格式化为指定的字符串格式,MM代表两位月份,dd代表两位日期,yyyy代表四位年份。
内容的提问来源于stack exchange,提问作者Emma
相关产品推荐
相关产品推荐

