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

> Documentation du format CSV

# CSV

<div id="description">
  ## Description
</div>

Format Comma Separated Values ([RFC](https://tools.ietf.org/html/rfc4180)).
Lors du formatage, les lignes sont placées entre guillemets doubles. Un guillemet double à l’intérieur d’une chaîne est représenté par deux guillemets doubles consécutifs.
Il n’y a pas d’autres règles d’échappement des caractères.

* Les dates et les dates-heures sont placées entre guillemets doubles.
* Les nombres sont affichés sans guillemets.
* Les valeurs sont séparées par un caractère délimiteur, qui est `,` par défaut. Le caractère délimiteur est défini dans le paramètre [format\_csv\_delimiter](/fr/reference/settings/formats/format-csv#format_csv_delimiter).
* Les lignes sont séparées par le caractère de saut de ligne Unix (LF).
* Les Arrays sont sérialisés en CSV comme suit :
  * d’abord, l’Array est sérialisé en chaîne comme dans le format TabSeparated
  * la chaîne obtenue est ensuite affichée en CSV entre guillemets doubles.
* Les Tuples au format CSV sont sérialisés en colonnes distinctes (c’est-à-dire que leur imbrication dans le tuple est perdue).

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

<Note>
  Par défaut, le délimiteur est `,`
  Consultez le paramètre [format\_csv\_delimiter](/fr/reference/settings/formats/format-csv#format_csv_delimiter) pour plus d’informations.
</Note>

Lors de l’analyse, toutes les valeurs peuvent être analysées avec ou sans guillemets. Les guillemets doubles et simples sont pris en charge.

Les lignes peuvent également être écrites sans guillemets. Dans ce cas, elles sont analysées jusqu’au caractère délimiteur ou au saut de ligne (CR ou LF).
Cependant, contrairement à la RFC, lors de l’analyse de lignes sans guillemets, les espaces et tabulations en début et en fin de ligne sont ignorés.
Les types de fin de ligne pris en charge sont les suivants : Unix (LF), Windows (CR LF) et Mac OS Classic (CR LF).

`NULL` est formaté selon le paramètre [format\_csv\_null\_representation](/fr/reference/settings/formats/format-csv#format_csv_null_representation) (la valeur par défaut est `\N`).

Dans les données d’entrée, les valeurs `ENUM` peuvent être représentées sous forme de noms ou d’identifiants.
Nous essayons d’abord de faire correspondre la valeur d’entrée au nom de l’`ENUM`.
En cas d’échec, si la valeur d’entrée est un nombre, nous essayons de faire correspondre ce nombre à l’identifiant de l’`ENUM`.
Si les données d’entrée ne contiennent que des identifiants d’`ENUM`, il est recommandé d’activer le paramètre [input\_format\_csv\_enum\_as\_number](/fr/reference/settings/formats/input-format#input_format_csv_enum_as_number) pour optimiser l’analyse des `ENUM`.

<div id="example-usage">
  ## Exemple d'utilisation
</div>

<div id="format-settings">
  ## Paramètres du format
</div>

| Paramètre                                                                                                                                                          | Description                                                                                                                                                                      | Par défaut | Remarques                                                                                                                                                                                                    |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| [format\_csv\_delimiter](/fr/reference/settings/formats/format-csv#format_csv_delimiter)                                                                           | le caractère considéré comme délimiteur dans les données CSV.                                                                                                                    | `,`        |                                                                                                                                                                                                              |
| [format\_csv\_allow\_single\_quotes](/fr/reference/settings/formats/format-csv#format_csv_allow_single_quotes)                                                     | autoriser les chaînes entre apostrophes.                                                                                                                                         | `true`     |                                                                                                                                                                                                              |
| [format\_csv\_allow\_double\_quotes](/fr/reference/settings/formats/format-csv#format_csv_allow_double_quotes)                                                     | autoriser les chaînes entre guillemets doubles.                                                                                                                                  | `true`     |                                                                                                                                                                                                              |
| [format\_csv\_null\_representation](/fr/reference/settings/formats/format-csv#format_csv_null_representation)                                                      | représentation NULL personnalisée au format CSV.                                                                                                                                 | `\N`       |                                                                                                                                                                                                              |
| [input\_format\_csv\_empty\_as\_default](/fr/reference/settings/formats/input-format#input_format_csv_empty_as_default)                                            | traiter les champs vides en entrée CSV comme des valeurs par défaut.                                                                                                             | `true`     | Pour les expressions par défaut complexes, [input\_format\_defaults\_for\_omitted\_fields](/fr/reference/settings/formats/input-format#input_format_defaults_for_omitted_fields) doit également être activé. |
| [input\_format\_csv\_missing\_nullable\_as\_empty\_string](/fr/reference/settings/formats/input-format#input_format_csv_missing_nullable_as_empty_string)          | lire une valeur manquante de `Nullable(String)` comme une chaîne vide au lieu de NULL, quelle que soit la valeur de `input_format_csv_empty_as_default`.                         | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_enum\_as\_number](/fr/reference/settings/formats/input-format#input_format_csv_enum_as_number)                                                | traiter les valeurs enum insérées dans les formats CSV comme des indices enum.                                                                                                   | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_use\_best\_effort\_in\_schema\_inference](/fr/reference/settings/formats/input-format#input_format_csv_use_best_effort_in_schema_inference)   | utiliser certains ajustements et heuristiques pour déduire le schéma au format CSV. Si cette option est désactivée, tous les champs seront déduits comme étant de type `String`. | `true`     |                                                                                                                                                                                                              |
| [input\_format\_csv\_arrays\_as\_nested\_csv](/fr/reference/settings/formats/input-format#input_format_csv_arrays_as_nested_csv)                                   | lors de la lecture d'`Array` depuis un CSV, supposer que ses éléments ont été sérialisés dans un CSV imbriqué, puis placés dans une chaîne.                                      | `false`    |                                                                                                                                                                                                              |
| [output\_format\_csv\_crlf\_end\_of\_line](/fr/reference/settings/formats/output-format#output_format_csv_crlf_end_of_line)                                        | si cette option est définie sur true, la fin de ligne du format de sortie CSV sera `\r\n` au lieu de `\n`.                                                                       | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_skip\_first\_lines](/fr/reference/settings/formats/input-format#input_format_csv_skip_first_lines)                                            | ignorer le nombre spécifié de lignes au début des données.                                                                                                                       | `0`        |                                                                                                                                                                                                              |
| [input\_format\_csv\_detect\_header](/fr/reference/settings/formats/input-format#input_format_csv_detect_header)                                                   | détecter automatiquement l'en-tête avec les noms et les types au format CSV.                                                                                                     | `true`     |                                                                                                                                                                                                              |
| [input\_format\_csv\_skip\_trailing\_empty\_lines](/fr/reference/settings/formats/input-format#input_format_csv_skip_trailing_empty_lines)                         | ignorer les lignes vides en fin de données.                                                                                                                                      | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_trim\_whitespaces](/fr/reference/settings/formats/input-format#input_format_csv_trim_whitespaces)                                             | supprimer les espaces et les tabulations dans les chaînes CSV non entre guillemets.                                                                                              | `true`     |                                                                                                                                                                                                              |
| [input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter](/fr/reference/settings/formats/input-format#input_format_csv_allow_whitespace_or_tab_as_delimiter) | autoriser l'utilisation d'espaces ou de tabulations comme délimiteur de champ dans les chaînes CSV.                                                                              | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_allow\_variable\_number\_of\_columns](/fr/reference/settings/formats/input-format#input_format_csv_allow_variable_number_of_columns)          | autoriser un nombre variable de colonnes au format CSV, ignorer les colonnes supplémentaires et utiliser des valeurs par défaut pour les colonnes manquantes.                    | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_use\_default\_on\_bad\_values](/fr/reference/settings/formats/input-format#input_format_csv_use_default_on_bad_values)                        | autoriser la définition d'une valeur par défaut pour une colonne lorsque la désérialisation d'un champ CSV échoue en raison d'une valeur incorrecte.                             | `false`    |                                                                                                                                                                                                              |
| [input\_format\_csv\_try\_infer\_numbers\_from\_strings](/fr/reference/settings/formats/input-format#input_format_csv_try_infer_numbers_from_strings)              | essayer de déduire des nombres à partir de champs de chaîne lors de l'inférence du schéma.                                                                                       | `false`    |                                                                                                                                                                                                              |
