다음을 통해 공유


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 데이터 원본과 동일한 옵션을 허용합니다.

Returns

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