Bagikan melalui


from_csv

Mengurai kolom yang berisi string CSV ke dalam baris dengan skema yang ditentukan. Mengembalikan null jika string tidak dapat diurai.

Syntax

from pyspark.sql import functions as sf

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

Parameter-parameternya

Pengaturan Tipe Description
col pyspark.sql.Column atau str Nama kolom atau kolom dalam format CSV.
schema pyspark.sql.Column atau str Kolom, atau string Python literal dengan skema dalam format DDL, untuk digunakan saat mengurai kolom CSV.
options dict, opsional Opsi untuk mengontrol penguraian. Menerima opsi yang sama dengan sumber data CSV.

Pengembalian Barang

pyspark.sql.Column: Kolom nilai CSV yang diurai.

Examples

Contoh 1: Mengurai string CSV sederhana

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

Contoh 2: Menggunakan schema_of_csv untuk menyimpulkan skema

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

Contoh 3: Mengabaikan spasi putih di depan dalam string 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}|
+---------------+

Contoh 4: Mengurai string CSV dengan nilai yang hilang

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

Contoh 5: Mengurai string CSV dengan pemisah yang berbeda

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