from_csv

CSV dizesi içeren bir sütunu belirtilen şemaya sahip bir satıra ayrıştırıyor. Dize ayrıştırılamıyorsa döndürür null .

Sözdizimi

from pyspark.sql import functions as sf

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

Parametreler

Parametre Türü Description
col pyspark.sql.Column veya str CSV biçiminde bir sütun veya sütun adı.
schema pyspark.sql.Column veya str CSV sütununu ayrıştırırken kullanılacak bir sütun veya DDL biçiminde şema içeren Python dizesi değişmez değeri.
options dict, isteğe bağlı Ayrıştırma denetimi seçenekleri. CSV veri kaynağıyla aynı seçenekleri kabul eder.

İade

pyspark.sql.Column: Ayrıştırılmış CSV değerlerinin bir sütunu.

Örnekler

Örnek 1: Basit bir CSV dizesini ayrıştırma

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

Örnek 2: Şemayı çıkarsamak için schema_of_csv kullanma

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

Örnek 3: CSV dizesinde baştaki boşluk yoksayma

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

Örnek 4: Eksik bir değerle CSV dizesini ayrıştırma

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

Örnek 5: CSV dizesini farklı bir sınırlayıcıyla ayrıştırma

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