次の方法で共有


try_to_time

必要に応じて指定した形式を使用して、列を TimeType に変換します。 datetime パターンに従って形式を指定します。 既定では、書式が省略されている場合は、規則を TimeType にキャストします。 col.cast("time")に相当します。 この関数は、無効な入力に対して常に null を返します。

構文

import pyspark.sql.functions as sf

sf.try_to_time(str=<str>)

# With format
sf.try_to_time(str=<str>, format=<format>)

パラメーター

パラメーター タイプ Description
str pyspark.sql.Column または str 時間に解析される文字列。
format pyspark.sql.Column または str Optional. 後に続く時刻形式パターン。

返品ポリシー

pyspark.sql.Column: pyspark.sql.types.TimeType 型としての時間値。

例示

例 1: 文字列を時刻に変換する。

import pyspark.sql.functions as sf
df = spark.createDataFrame([("10:30:00",)], ["str"])
df.select(sf.try_to_time(df.str).alias("time")).show()
+--------+
|    time|
+--------+
|10:30:00|
+--------+

例 2: 文字列を書式付きの時刻に変換する。

import pyspark.sql.functions as sf
df = spark.createDataFrame([("10:30:00", "HH:mm:ss")], ["str", "format"])
df.select(sf.try_to_time(df.str, df.format).alias("time")).show()
+--------+
|    time|
+--------+
|10:30:00|
+--------+

例 3: 変換エラーの結果は NULL になります。

import pyspark.sql.functions as sf
df = spark.createDataFrame([("malformed",)], ["str"])
df.select(sf.try_to_time(df.str).alias("time")).show()
+----+
|time|
+----+
|NULL|
+----+