> ## Documentation Index
> Fetch the complete documentation index at: https://private-7c7dfe99-mintlify-fbfa8bee.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_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_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_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_csv_enum_as_number) pour optimiser l’analyse des `ENUM`.

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

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

| Paramètre                                                                                                                                             | Description                                                                                                                                                               | Par défaut | Notes                                                                                                                                                                                           |
| ----------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [format\_csv\_delimiter](/fr/reference/settings/formats#format_csv_delimiter)                                                                         | le caractère à considérer comme délimiteur dans les données CSV.                                                                                                          | `,`        |                                                                                                                                                                                                 |
| [format\_csv\_allow\_single\_quotes](/fr/reference/settings/formats#format_csv_allow_single_quotes)                                                   | autoriser les chaînes entre guillemets simples.                                                                                                                           | `true`     |                                                                                                                                                                                                 |
| [format\_csv\_allow\_double\_quotes](/fr/reference/settings/formats#format_csv_allow_double_quotes)                                                   | autoriser les chaînes entre guillemets doubles.                                                                                                                           | `true`     |                                                                                                                                                                                                 |
| [format\_csv\_null\_representation](/fr/reference/settings/formats#format_tsv_null_representation)                                                    | représentation personnalisée de NULL dans le format CSV.                                                                                                                  | `\N`       |                                                                                                                                                                                                 |
| [input\_format\_csv\_empty\_as\_default](/fr/reference/settings/formats#input_format_csv_empty_as_default)                                            | traiter les champs vides dans l'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_defaults_for_omitted_fields) doit également être activé. |
| [input\_format\_csv\_enum\_as\_number](/fr/reference/settings/formats#input_format_csv_enum_as_number)                                                | traiter les valeurs enum insérées dans les formats CSV comme des indices d'enum.                                                                                          | `false`    |                                                                                                                                                                                                 |
| [input\_format\_csv\_use\_best\_effort\_in\_schema\_inference](/fr/reference/settings/formats#input_format_csv_use_best_effort_in_schema_inference)   | utiliser certains ajustements et heuristiques pour inférer le schéma dans le format CSV. Si ce paramètre est désactivé, tous les champs seront inférés comme des Strings. | `true`     |                                                                                                                                                                                                 |
| [input\_format\_csv\_arrays\_as\_nested\_csv](/fr/reference/settings/formats#input_format_csv_arrays_as_nested_csv)                                   | lors de la lecture d'un Array depuis un CSV, s'attendre à ce que ses éléments aient été sérialisés en CSV imbriqué puis placés dans une chaîne.                           | `false`    |                                                                                                                                                                                                 |
| [output\_format\_csv\_crlf\_end\_of\_line](/fr/reference/settings/formats#output_format_csv_crlf_end_of_line)                                         | si ce paramètre est défini 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_csv_skip_first_lines)                                            | ignorer le nombre de lignes spécifié au début des données.                                                                                                                | `0`        |                                                                                                                                                                                                 |
| [input\_format\_csv\_detect\_header](/fr/reference/settings/formats#input_format_csv_detect_header)                                                   | détecter automatiquement un en-tête contenant les noms et les types dans le format CSV.                                                                                   | `true`     |                                                                                                                                                                                                 |
| [input\_format\_csv\_skip\_trailing\_empty\_lines](/fr/reference/settings/formats#input_format_csv_skip_trailing_empty_lines)                         | ignorer les lignes vides à la fin des données.                                                                                                                            | `false`    |                                                                                                                                                                                                 |
| [input\_format\_csv\_trim\_whitespaces](/fr/reference/settings/formats#input_format_csv_trim_whitespaces)                                             | supprimer les espaces et les tabulations dans les chaînes CSV non délimitées par des guillemets.                                                                          | `true`     |                                                                                                                                                                                                 |
| [input\_format\_csv\_allow\_whitespace\_or\_tab\_as\_delimiter](/fr/reference/settings/formats#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_csv_allow_variable_number_of_columns)          | autoriser un nombre variable de colonnes dans le 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_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 cas de valeur incorrecte.                            | `false`    |                                                                                                                                                                                                 |
| [input\_format\_csv\_try\_infer\_numbers\_from\_strings](/fr/reference/settings/formats#input_format_csv_try_infer_numbers_from_strings)              | essayer d'inférer des nombres à partir de champs de type chaîne lors de l'inférence de schéma.                                                                            | `false`    |                                                                                                                                                                                                 |
