to_number
Convertit la chaîne 'col' en nombre en fonction du format de chaîne 'format'. Lance une exception si la conversion échoue.
Le format peut être composé des caractères suivants, sans distinction de casse :
- '0' ou '9' : Spécifie un chiffre attendu entre 0 et 9. Une séquence de 0 ou 9 dans la chaîne de format correspond à une séquence de chiffres dans la chaîne d'entrée. Si la séquence 0/9 start par 0 et est avant la virgule décimale, elle ne peut correspondre qu'à une séquence de chiffres de la même taille. Sinon, si la séquence start avec 9 ou est après la virgule, elle peut correspondre à une séquence de chiffres de taille identique ou inférieure.
- « . » ou « D » : Spécifie la position du séparateur décimal (facultatif, autorisé une seule fois).
- « , » ou « G » : spécifie la position du séparateur de groupes (milliers) (,). Il doit y avoir un 0 ou un 9 à gauche et à droite de chaque séparateur de regroupement. « col » doit correspondre au séparateur de regroupement pertinent pour la taille du nombre.
- '$': Spécifie l'emplacement du signe de devise $. Ce caractère ne peut être spécifié qu'une seule fois.
- « S » ou « MI » : Spécifie la position d'un signe « - » ou « + » (facultatif, autorisé une seule fois au début ou à la fin de la chaîne de format). Notez que 'S' autorise '-' mais 'MI' pas.
- 'PR' : Autorisé uniquement à la fin de la chaîne de format ; spécifie que 'col' indique un nombre négatif avec des crochets angulaires enveloppants.
Pour la fonction Databricks SQL correspondante, consultez la fonctionto_number.
Syntaxe
Python
from pyspark.sql import functions as dbf
dbf.to_number(col=<col>, format=<format>)
parameter
parameter | Type | Description |
|---|---|---|
|
| Colonne d'entrée ou chaînes de caractères. |
|
| format à utiliser pour convertir les valeurs numériques. |
Exemples
Python
df = spark.createDataFrame([("$78.12",)], ["e"])
df.select(to_number(df.e, lit("$99.99")).alias('r')).collect()