from_csv(col, schema[, options])
Описание
Функция from_csv() разбирает столбец, содержащий CSV строку, в строку с указанной схемой. Можно указать дополнительные опции для настройки парсинга.
Параметры
col: Column - столбец с CSV строкойschema: str - схема в формате DDL или StructTypeoptions: dict (опционально) - дополнительные опции для парсинга CSV
Возвращаемое значение
Struct - структура с разобранными данными
Пример использования
from pyspark.sql.functions import from_csv, lit
from pyspark.sql.types import StructType, StructField, StringType, IntegerType, DoubleType
# Определяем схему
schema = StructType([
    StructField("name", StringType()),
    StructField("age", IntegerType()),
    StructField("salary", DoubleType())
])
# Создаем DataFrame с CSV строками
df = spark.createDataFrame([
    ("John,30,50000.5",),
    ("Alice,25,60000.0",),
    ("Bob,35,75000.75",)
], ["csv_data"])
# Разбираем CSV строки
df.select(
    "csv_data",
    from_csv("csv_data", schema).alias("parsed")
).show(truncate=False)
# Результат:
# +----------------+------------------+
# |csv_data        |parsed            |
# +----------------+------------------+
# |John,30,50000.5 |{John, 30, 50000.5}|
# |Alice,25,60000.0|{Alice, 25, 60000.0}|
# |Bob,35,75000.75 |{Bob, 35, 75000.75}|
# +----------------+------------------+
# Пример с опциями
df.select(
    "csv_data",
    from_csv(
        "csv_data",
        schema,
        {"sep": "|", "header": "false"}
    ).alias("parsed_with_options")
).show(truncate=False)
 Примечания
- Если строка не соответствует схеме, возвращается NULL
 - Для определения схемы используйте 
schema_of_csv() - Для конвертации структуры в CSV используйте 
to_csv() - Для работы с JSON используйте 
from_json() - Для работы с XML используйте соответствующие функции