If / Round

Excel IF / ROUND column expressions.

fabrictools.excel.logic.If(condition: pyspark.sql.Column, value_if_true: pyspark.sql.Column | str | int | float | bool | None, value_if_false: pyspark.sql.Column | str | int | float | bool | None) pyspark.sql.Column[source]

Conditional expression (Excel IF / SI).

Parameters:
  • condition (Column) – Boolean Spark column expression.

  • value_if_true (Column | str | int | float | bool | None) – Value when condition is true.

  • value_if_false (Column | str | int | float | bool | None) – Value when condition is false.

Returns:

Conditional column expression.

Return type:

Column

Example

>>> from fabrictools import Excel
>>> from pyspark.sql import functions as F
>>> Excel.If(F.col("amount") > 0, "OPEN", "CLOSED")
fabrictools.excel.logic.Round(expr: pyspark.sql.Column | str, num_digits: int = 0) pyspark.sql.Column[source]

Round a numeric column (Excel ROUND / ARRONDI).

Parameters:
  • expr (Column | str) – Numeric column or expression.

  • num_digits (int) – Number of decimal places.

Returns:

Rounded column expression.

Return type:

Column

Example

>>> from fabrictools import Excel
>>> Excel.Round(F.col("TO still to recognize"), 0)