Aller au contenu principal

to_csv

Convertit une colonne contenant un StructType en chaîne CSV. Lève une exception, dans le cas d'un type non pris en charge.

Syntaxe

Python
from pyspark.sql import functions as sf

sf.to_csv(col, options=None)

parameter

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant une structure.

options

dictionnaire, facultatif

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

parameter

Type

Description

col

pyspark.sql.Column ou str

Nom de la colonne contenant une structure.

options

dictionnaire, facultatif

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

Renvoie

pyspark.sql.Column: Une chaîne CSV convertie à partir du StructType donné.

Exemples

Exemple 1 : Conversion d'un StructType simple en chaîne CSV

Python
from pyspark.sql import Row, functions as sf
data = [(1, Row(age=2, name='Alice'))]
df = spark.createDataFrame(data, ("key", "value"))
df.select(sf.to_csv(df.value)).show()
Output
+-------------+
|to_csv(value)|
+-------------+
| 2,Alice|
+-------------+

Exemple 2 : conversion d’un StructType complexe en chaîne CSV

Python
from pyspark.sql import Row, functions as sf
data = [(1, Row(age=2, name='Alice', scores=[100, 200, 300]))]
df = spark.createDataFrame(data, ("key", "value"))
df.select(sf.to_csv(df.value)).show(truncate=False)
Output
+-------------------------+
|to_csv(value) |
+-------------------------+
|2,Alice,"[100, 200, 300]"|
+-------------------------+

Exemple 3 : conversion d'un StructType avec des valeurs nulles en une chaîne CSV

Python
from pyspark.sql import Row, functions as sf
from pyspark.sql.types import StructType, StructField, IntegerType, StringType
data = [(1, Row(age=None, name='Alice'))]
schema = StructType([
StructField("key", IntegerType(), True),
StructField("value", StructType([
StructField("age", IntegerType(), True),
StructField("name", StringType(), True)
]), True)
])
df = spark.createDataFrame(data, schema)
df.select(sf.to_csv(df.value)).show()
Output
+-------------+
|to_csv(value)|
+-------------+
| ,Alice|
+-------------+

Exemple 4 : Conversion d'un StructType avec différents types de données en chaîne CSV

Python
from pyspark.sql import Row, functions as sf
data = [(1, Row(age=2, name='Alice', isStudent=True))]
df = spark.createDataFrame(data, ("key", "value"))
df.select(sf.to_csv(df.value)).show()
Output
+-------------+
|to_csv(value)|
+-------------+
| 2,Alice,true|
+-------------+