Aller au contenu principal

from_csv

Analyse une colonne contenant une chaîne CSV en une ligne avec le schéma spécifié. Retourne null si la chaîne ne peut pas être analysée.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.from_csv(col, schema, options=None)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Une colonne ou un nom de colonne au format CSV.

schema

pyspark.sql.Column ou str

Une colonne, ou un littéral de chaîne Python avec un schéma au format DDL, à utiliser lors de l'analyse de la colonne CSV.

options

dictionnaire, facultatif

Options pour contrôler l'analyse. Accepte les mêmes options que la source de données CSV.

parameter

Type

Description

col

pyspark.sql.Column ou str

Une colonne ou un nom de colonne au format CSV.

schema

pyspark.sql.Column ou str

Une colonne, ou un littéral de chaîne Python avec un schéma au format DDL, à utiliser lors de l'analyse de la colonne CSV.

options

dictionnaire, facultatif

Options pour contrôler l'analyse. Accepte les mêmes options que la source de données CSV.

Renvoie

pyspark.sql.Column: Colonne de valeurs CSV analysées.

Exemples

Exemple 1 : Analyse d'une chaîne CSV simple

Python
from pyspark.sql import functions as sf
data = [("1,2,3",)]
df = spark.createDataFrame(data, ("value",))
df.select(sf.from_csv(df.value, "a INT, b INT, c INT")).show()
Output
+---------------+
|from_csv(value)|
+---------------+
| {1, 2, 3}|
+---------------+

Exemple 2 : Utilisation de schema_of_csv pour inférer le schéma

Python
from pyspark.sql import functions as sf
data = [("1,2,3",)]
value = data[0][0]
df.select(sf.from_csv(df.value, sf.schema_of_csv(value))).show()
Output
+---------------+
|from_csv(value)|
+---------------+
| {1, 2, 3}|
+---------------+

Exemple 3 : Ignorer les espaces blancs de début dans la chaîne CSV

Python
from pyspark.sql import functions as sf
data = [(" abc",)]
df = spark.createDataFrame(data, ("value",))
options = {'ignoreLeadingWhiteSpace': True}
df.select(sf.from_csv(df.value, "s string", options)).show()
Output
+---------------+
|from_csv(value)|
+---------------+
| {abc}|
+---------------+

Exemple 4 : Analyse d'une chaîne CSV avec une valeur manquante

Python
from pyspark.sql import functions as sf
data = [("1,2,",)]
df = spark.createDataFrame(data, ("value",))
df.select(sf.from_csv(df.value, "a INT, b INT, c INT")).show()
Output
+---------------+
|from_csv(value)|
+---------------+
| {1, 2, NULL}|
+---------------+

Exemple 5 : Analyse d'une chaîne CSV avec un délimiteur différent

Python
from pyspark.sql import functions as sf
data = [("1;2;3",)]
df = spark.createDataFrame(data, ("value",))
options = {'delimiter': ';'}
df.select(sf.from_csv(df.value, "a INT, b INT, c INT", options)).show()
Output
+---------------+
|from_csv(value)|
+---------------+
| {1, 2, 3}|
+---------------+