次の方法で共有


from_csv

CSV 文字列を含む列を指定されたスキーマに基づいて行に解析します。 文字列を解析できない場合は null を返します。

構文

from pyspark.sql import functions as sf

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

パラメーター

パラメーター タイプ Description
col pyspark.sql.Column または str CSV 形式の列または列名。
schema pyspark.sql.Column または str CSV 列の解析時に使用する、DDL 形式のスキーマを含む列または Python 文字列リテラル。
options dict、省略可能 解析を制御するオプション。 CSV データソースと同じオプションを受け入れます。

返品ポリシー

pyspark.sql.Column: 解析された CSV 値の列。

例示

例 1: 単純な 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}|
+---------------+

例 2: schema_of_csvを使用してスキーマを推論する

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

例 4: 欠損値を含む CSV 文字列の解析

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: 区切り記号が異なる CSV 文字列を解析する

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