在Azure数据块中,pyspark已经有一个现有的数据块DF1| 名称|日期|| --|--|| 一| 20210720 || B| 20231005 || C| 20190215 |我希望列日期可以格式如下| 名称|日期|| --|--|| 一|2019 - 07 - 20 00:00:00|| B| 2019 - 05 - 10 00:00:00|| C| 2019 - 02 - 15|我应该怎么写剧本?”谢谢你
pu82cl6c1#
你可以编写类似下面的代码,这里我假设日期列是字符串类型的
from pyspark.sql.functions import date_format, to_date data = [("20231030",), ("20231115",), ("20231225",)] columns = ["date_string"] df = spark.createDataFrame(data, columns) df = df.withColumn("to_date_format", to_date(df["date_string"], "yyyyMMdd")) df = df.withColumn("formatted_date", date_format(df["to_date_format"], "dd/MM/yyyy")) df.show() df.printSchema()
字符串产出:
>>> df.show() +-----------+--------------+--------------+ |date_string|to_date_format|formatted_date| +-----------+--------------+--------------+ | 20231030| 2023-10-30| 30/10/2023| | 20231115| 2023-11-15| 15/11/2023| | 20231225| 2023-12-25| 25/12/2023| +-----------+--------------+--------------+ >>> df.printSchema() root |-- date_string: string (nullable = true) |-- to_date_format: date (nullable = true) |-- formatted_date: string (nullable = true)
型
1条答案
按热度按时间pu82cl6c1#
你可以编写类似下面的代码,这里我假设日期列是字符串类型的
字符串
产出:
型