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|
+-------------+