pyspark.sql.functions.try_to_number#
- pyspark.sql.functions.try_to_number(col, format)[source]#
Convert string ‘col’ to a number based on the string format format. Returns NULL if the string ‘col’ does not match the expected format. The format follows the same semantics as the to_number function.
New in version 3.5.0.
- Parameters
Examples
Example 1: Convert a string to a number with a format specified
>>> import pyspark.sql.functions as sf >>> df = spark.createDataFrame([("$78.12",)], ["e"]) >>> df.select(sf.try_to_number(df.e, sf.lit("$99.99")).alias('r')).show() +-----+ | r| +-----+ |78.12| +-----+
Example 2: Converion failure results in NULL when ANSI mode is on
>>> import pyspark.sql.functions as sf >>> origin = spark.conf.get("spark.sql.ansi.enabled") >>> spark.conf.set("spark.sql.ansi.enabled", "true") >>> try: ... df = spark.range(1) ... df.select(sf.try_to_number(sf.lit("77"), sf.lit("$99.99")).alias('r')).show() ... finally: ... spark.conf.set("spark.sql.ansi.enabled", origin) +----+ | r| +----+ |NULL| +----+