from_csv

Parsuje sloupec obsahující řetězec CSV do řádku se zadaným schématem. Vrátí null , pokud řetězec nelze analyzovat.

Syntaxe

from pyspark.sql import functions as sf

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

Parametry

Parameter Typ Description
col pyspark.sql.Column nebo str Název sloupce nebo sloupce ve formátu CSV
schema pyspark.sql.Column nebo str Sloupec nebo řetězcový literál Pythonu se schématem ve formátu DDL, který se použije při analýze sloupce CSV.
options diktování, volitelné Možnosti pro kontrolu analýzy Přijímá stejné možnosti jako zdroj dat CSV.

Návraty

pyspark.sql.Column: Sloupec analyzovaných hodnot CSV.

Examples

Příklad 1: Analýza jednoduchého řetězce CSV

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()
+---------------+
|from_csv(value)|
+---------------+
|      {1, 2, 3}|
+---------------+

Příklad 2: Použití schema_of_csv k odvození schématu

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()
+---------------+
|from_csv(value)|
+---------------+
|      {1, 2, 3}|
+---------------+

Příklad 3: Ignorování úvodního prázdného místa v řetězci CSV

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()
+---------------+
|from_csv(value)|
+---------------+
|          {abc}|
+---------------+

Příklad 4: Analýza řetězce CSV s chybějící hodnotou

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()
+---------------+
|from_csv(value)|
+---------------+
|   {1, 2, NULL}|
+---------------+

Příklad 5: Analýza řetězce CSV s jiným oddělovačem

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()
+---------------+
|from_csv(value)|
+---------------+
|      {1, 2, 3}|
+---------------+