Megosztás:


from_csv

Egy CSV-sztringet tartalmazó oszlopot elemez a megadott sémával rendelkező sorba. Visszaadja null , ha a sztring nem elemezhető.

Szemantika

from pyspark.sql import functions as sf

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

Paraméterek

Paraméter Típus Description
col pyspark.sql.Column vagy str Oszlop- vagy oszlopnév CSV formátumban.
schema pyspark.sql.Column vagy str A CSV-oszlop elemzésekor használható oszlop vagy Python-sztringkonstans DDL formátumban.
options diktálás, nem kötelező Elemzés vezérlésének beállításai. Ugyanazokat a beállításokat fogadja el, mint a CSV-adatforrás.

Visszatérítések

pyspark.sql.Column: Elemezett CSV-értékek oszlopa.

Példák

1. példa: Egyszerű CSV-sztring elemzése

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

2. példa: A séma következtetése schema_of_csv használatával

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

3. példa: A kezdő szóköz figyelmen kívül hagyása a CSV-sztringben

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

4. példa: CSV-sztring elemzése hiányzó értékkel

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

5. példa: CSV-sztring elemzése másik elválasztójellel

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