一、Python中日期格式化
Python中的datetime模塊提供了很多日期格式化的方法,可以方便地對日期進行轉化、計算和展示。其中,strftime()方法是最常用的格式化方法之一。
import datetime
now = datetime.datetime.now()
# 轉化為字元串格式
date_str = now.strftime("%Y-%m-%d %H:%M:%S")
print(date_str)
# 轉化為時間戳
timestamp = datetime.datetime.timestamp(now)
print(timestamp)
# 將字元串格式轉化為時間對象
date_time = datetime.datetime.strptime("2022-10-01", "%Y-%m-%d")
print(date_time)
代碼說明:
- 使用datetime模塊獲取當前時間now,並將其轉化為字元串格式和時間戳。
- 使用strftime()方法將時間對象now格式化成字元串,並指定為”%Y-%m-%d %H:%M:%S”格式。
- 使用timestamp()方法將時間對象now轉化為時間戳。
- 使用strptime()方法將字元串”2022-10-01″轉化為時間對象,並指定為”%Y-%m-%d”格式。
二、Pyspark中日期格式化
Pyspark提供了Spark SQL模塊,可以直接對數據進行SQL操作。在Spark SQL中,可以使用date_format()函數和to_date()函數進行日期格式化。其中,date_format()函數用於將日期轉化為指定的字元串格式,to_date()函數用於將字元串轉化為日期對象。
from pyspark.sql.functions import date_format, to_date
from pyspark.sql.types import DateType
from pyspark.sql import SparkSession
spark = SparkSession.builder.appName("DateFormatting").getOrCreate()
# 構造測試數據
data = [("2022-01-01", ), ("2022-02-01", ), ("2022-03-01", ), ("2022-04-01", ), ("2022-05-01", )]
df = spark.createDataFrame(data, ["date_str"])
# 將字元串格式轉化為日期對象
df = df.withColumn("date", to_date("date_str"))
# 將日期格式化為指定字元串格式
df = df.withColumn("date_format", date_format("date", "yyyy-MM-dd"))
df.show()
代碼說明:
- 使用pyspark.sql.functions模塊中的date_format()函數和to_date()函數格式化日期。
- 使用pyspark.sql.types模塊中的DateType類型,將日期對象轉化為日期格式。
- 使用SparkSession創建Spark應用程序,並指定名稱為"DateFormatting"。
- 構造測試數據。
- 使用withColumn()方法將字元串格式的日期轉化為日期對象,並將結果保存為新列"date"。
- 使用withColumn()方法將日期格式化為指定字元串格式,並將結果保存為新列"date_format"。
- 使用show()方法展示結果。
三、總結
本文介紹了在Python和Pyspark中進行日期格式化的方法,並通過示例代碼演示了具體的實現過程。在實際工作中,日期格式化是非常常見的問題,掌握了日期格式化的方法,可以更加方便地進行數據處理和分析。
原創文章,作者:WIRI,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/147288.html