> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-8a08bda2.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> CSV 형식 문서

# CSV

<div id="description">
  ## 설명
</div>

쉼표로 구분된 값 포맷([RFC](https://tools.ietf.org/html/rfc4180))입니다.
포맷할 때 각 행은 큰따옴표로 묶입니다. 문자열 안의 큰따옴표는 큰따옴표 2개가 연속된 형태로 출력됩니다.
문자 이스케이프에 대한 다른 규칙은 없습니다.

* 날짜 및 날짜-시간 값은 큰따옴표로 묶입니다.
* 숫자는 따옴표 없이 출력됩니다.
* 값은 구분자 문자로 구분되며, 기본값은 `,`입니다. 구분자 문자는 설정 [format\_csv\_delimiter](/ko/reference/settings/formats#format_csv_delimiter)에서 정의됩니다.
* 행은 Unix 줄바꿈 문자(LF)를 사용해 구분됩니다.
* 배열은 CSV에서 다음과 같이 직렬화됩니다.
  * 먼저 배열은 TabSeparated 포맷에서와 같이 문자열로 직렬화됩니다.
  * 이렇게 생성된 문자열은 큰따옴표로 묶여 CSV에 출력됩니다.
* CSV 형식에서 튜플은 별도의 컬럼으로 직렬화됩니다(즉, 튜플 내부의 중첩 구조는 사라집니다).

```bash theme={null}
$ clickhouse-client --format_csv_delimiter="|" --query="INSERT INTO test.csv FORMAT CSV" < data.csv
```

<Note>
  기본적으로 구분자는 `,`입니다.
  자세한 내용은 [format\_csv\_delimiter](/ko/reference/settings/formats#format_csv_delimiter) 설정을 참조하십시오.
</Note>

파싱 시 모든 값은 따옴표가 있거나 없는 형태로 모두 파싱할 수 있습니다. 큰따옴표와 작은따옴표를 모두 지원합니다.

행도 따옴표 없이 구성할 수 있습니다. 이 경우 구분자 문자 또는 줄바꿈 문자(CR 또는 LF)가 나올 때까지 파싱됩니다.
하지만 RFC와 달리, 따옴표 없이 행을 파싱할 때는 앞뒤의 공백과 탭이 무시됩니다.
줄바꿈은 Unix(LF), Windows(CR LF), Mac OS Classic(CR LF) 타입을 지원합니다.

`NULL`은 [format\_csv\_null\_representation](/ko/reference/settings/formats#format_csv_null_representation) 설정에 따라 포맷됩니다(기본값은 `\N`입니다).

입력 데이터에서 `ENUM` 값은 이름 또는 id로 표현할 수 있습니다.
먼저 입력 값을 `ENUM` 이름과 일치시키려고 시도합니다.
일치하지 않고 입력 값이 숫자이면, 이 숫자를 `ENUM` id와 일치시키려고 시도합니다.
입력 데이터에 `ENUM` id만 포함되어 있다면 `ENUM` 파싱을 최적화하기 위해 [input\_format\_csv\_enum\_as\_number](/ko/reference/settings/formats#input_format_csv_enum_as_number) 설정을 활성화하는 것이 좋습니다.

<div id="example-usage">
  ## 예시 사용
</div>

<div id="format-settings">
  ## 포맷 설정
</div>

| 설정                                                                                                                                                    | 설명                                                                  | 기본값     | 비고                                                                                                                                                   |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------- | ------- | ---------------------------------------------------------------------------------------------------------------------------------------------------- |
| [format\_csv\_delimiter](/ko/reference/settings/formats#format_csv_delimiter)                                                                         | CSV 데이터에서 구분자로 사용할 문자를 지정합니다.                                       | `,`     |                                                                                                                                                      |
| [format\_csv\_allow\_single\_quotes](/ko/reference/settings/formats#format_csv_allow_single_quotes)                                                   | 작은따옴표로 둘러싼 문자열을 허용합니다.                                              | `true`  |                                                                                                                                                      |
| [format\_csv\_allow\_double\_quotes](/ko/reference/settings/formats#format_csv_allow_double_quotes)                                                   | 큰따옴표로 둘러싼 문자열을 허용합니다.                                               | `true`  |                                                                                                                                                      |
| [format\_csv\_null\_representation](/ko/reference/settings/formats#format_tsv_null_representation)                                                    | CSV 형식에서 사용자 지정 NULL 표현을 사용합니다.                                     | `\N`    |                                                                                                                                                      |
| [input\_format\_csv\_empty\_as\_default](/ko/reference/settings/formats#input_format_csv_empty_as_default)                                            | CSV 입력의 빈 필드를 기본값으로 처리합니다.                                          | `true`  | 복잡한 기본 표현식에는 [input\_format\_defaults\_for\_omitted\_fields](/ko/reference/settings/formats#input_format_defaults_for_omitted_fields)도 함께 활성화해야 합니다. |
| [input\_format\_csv\_enum\_as\_number](/ko/reference/settings/formats#input_format_csv_enum_as_number)                                                | CSV 형식에서 삽입되는 enum 값을 enum 인덱스로 처리합니다.                              | `false` |                                                                                                                                                      |
| [input\_format\_csv\_use\_best\_effort\_in\_schema\_inference](/ko/reference/settings/formats#input_format_csv_use_best_effort_in_schema_inference)   | CSV 형식에서 스키마 추론 시 일부 조정과 휴리스틱을 사용합니다. 비활성화하면 모든 필드가 String으로 추론됩니다. | `true`  |                                                                                                                                                      |
| [input\_format\_csv\_arrays\_as\_nested\_csv](/ko/reference/settings/formats#input_format_csv_arrays_as_nested_csv)                                   | CSV에서 배열을 읽을 때 요소가 중첩된 CSV로 직렬화된 뒤 문자열에 담겨 있다고 가정합니다.               | `false` |                                                                                                                                                      |
| [output\_format\_csv\_crlf\_end\_of\_line](/ko/reference/settings/formats#output_format_csv_crlf_end_of_line)                                         | `true`로 설정하면 CSV 출력 형식의 줄 끝이 `\n` 대신 `\r\n`이 됩니다.                   | `false` |                                                                                                                                                      |
| [input\_format\_csv\_skip\_first\_lines](/ko/reference/settings/formats#input_format_csv_skip_first_lines)                                            | 데이터 시작 부분에서 지정한 줄 수만큼 건너뜁니다.                                        | `0`     |                                                                                                                                                      |
| [input\_format\_csv\_detect\_header](/ko/reference/settings/formats#input_format_csv_detect_header)                                                   | CSV 형식에서 이름과 타입이 포함된 헤더를 자동으로 감지합니다.                                | `true`  |                                                                                                                                                      |
| [input\_format\_csv\_skip\_trailing\_empty\_lines](/ko/reference/settings/formats#input_format_csv_skip_trailing_empty_lines)                         | 데이터 끝의 빈 줄을 건너뜁니다.                                                  | `false` |                                                                                                                                                      |
| [input\_format\_csv\_trim\_whitespaces](/ko/reference/settings/formats#input_format_csv_trim_whitespaces)                                             | 따옴표로 묶지 않은 CSV 문자열의 공백과 탭을 제거합니다.                                   | `true`  |                                                                                                                                                      |
| [input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter](/ko/reference/settings/formats#input_format_csv_allow_whitespace_or_tab_as_delimiter) | CSV 문자열에서 공백이나 탭을 필드 구분자로 사용할 수 있도록 허용합니다.                          | `false` |                                                                                                                                                      |
| [input\_format\_csv\_allow\_variable\_number\_of\_columns](/ko/reference/settings/formats#input_format_csv_allow_variable_number_of_columns)          | CSV 형식에서 가변적인 수의 컬럼을 허용하며, 추가 컬럼은 무시하고 누락된 컬럼에는 기본값을 사용합니다.         | `false` |                                                                                                                                                      |
| [input\_format\_csv\_use\_default\_on\_bad\_values](/ko/reference/settings/formats#input_format_csv_use_default_on_bad_values)                        | 잘못된 값 때문에 CSV 필드 역직렬화에 실패한 경우 해당 컬럼에 기본값을 설정할 수 있도록 허용합니다.          | `false` |                                                                                                                                                      |
| [input\_format\_csv\_try\_infer\_numbers\_from\_strings](/ko/reference/settings/formats#input_format_csv_try_infer_numbers_from_strings)              | 스키마 추론 중 문자열 필드에서 숫자를 추론하도록 시도합니다.                                  | `false` |                                                                                                                                                      |
