Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Analiza una columna que contiene una cadena CSV en una fila con el esquema especificado. Devuelve null si no se puede analizar la cadena.
Syntax
from pyspark.sql import functions as sf
sf.from_csv(col, schema, options=None)
Parámetros
| Parámetro | Tipo | Description |
|---|---|---|
col |
pyspark.sql.Column o str |
Un nombre de columna o columna en formato CSV. |
schema |
pyspark.sql.Column o str |
Columna, o literal de cadena de Python con esquema en formato DDL, para usarlo al analizar la columna CSV. |
options |
dict, opcional | Opciones para controlar el análisis. Acepta las mismas opciones que el origen de datos CSV. |
Devoluciones
pyspark.sql.Column: una columna de valores CSV analizados.
Examples
Ejemplo 1: Análisis de una cadena CSV simple
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}|
+---------------+
Ejemplo 2: Uso de schema_of_csv para deducir el esquema
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}|
+---------------+
Ejemplo 3: Omitir el espacio en blanco inicial en la cadena 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}|
+---------------+
Ejemplo 4: Análisis de una cadena CSV con un valor que falta
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}|
+---------------+
Ejemplo 5: Análisis de una cadena CSV con un delimitador diferente
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}|
+---------------+