Csv.Document

Syntaxe

Csv.Document(
    source as any,
    optional columns as any,
    optional delimiter as any,
    optional extraValues as nullable number,
    optional encoding as nullable number
) as table

À propos

Retourne le contenu du document CSV en tant que table.

  • columns peut avoir la valeur Null, le nombre de colonnes, une liste de noms de colonnes, un type de table ou un enregistrement d’options.
  • delimiter peut être un caractère unique, une liste de caractères ou la valeur "", qui indique que les lignes doivent être découpées avec des espaces blancs consécutifs. Par défaut : ",".
  • Veuillez vous référer à ExtraValues.Type pour connaître les valeurs prises en charge de extraValues.
  • encoding spécifie le type d’encodage de texte.

Si un enregistrement est spécifié pour columns (et que delimiter, extraValues et encoding ont la valeur Null), les champs d’enregistrement suivants peuvent être fournis :

  • Delimiter : délimiteur de colonne à caractère unique. Par défaut : ",".
  • Columns : Peut avoir la valeur Null, le nombre de colonnes, une liste de noms de colonnes ou un type de table. Si le nombre de colonnes est inférieur au nombre trouvé dans l’entrée, les colonnes supplémentaires seront ignorées. Si le nombre de colonnes est supérieur au nombre trouvé dans l’entrée, les colonnes supplémentaires auront la valeur Null. S’il n’est pas spécifié, le nombre de colonnes est déterminé par ce qui est trouvé dans l’entrée.
  • Encoding : Encodage du texte du fichier. Par défaut : 65001 (UTF-8).
  • CsvStyle : Spécifie comment les guillemets sont traités.
    • CsvStyle.QuoteAfterDelimiter (valeur par défaut) : les guillemets dans un champ ne sont significatifs que immédiatement après le délimiteur.
    • CsvStyle.QuoteAlways: les guillemets dans un champ sont toujours significatifs, quel que soit l’endroit où ils apparaissent.
  • QuoteStyle : Spécifie comment les sauts de ligne entre guillemets sont traités.
    • QuoteStyle.Csv (valeur par défaut) : les sauts de ligne entre guillemets sont traités dans le cadre des données, et non comme la fin de la ligne active.
    • QuoteStyle.None: tous les sauts de ligne sont traités comme la fin de la ligne actuelle, même lorsqu’ils se produisent à l’intérieur d’une valeur entre guillemets.
  • IncludeByteOrderMark: valeur logique indiquant s’il faut inclure une marque d’ordre d’octet (BOM) au début de la sortie CSV. Lorsqu’il est défini sur true, le boM est écrit (par exemple, UTF-8 BOM : 0xEF 0xBB 0xBF) ; lorsqu’il est défini sur false, aucun boM n’est inclus. Cette option s’applique uniquement dans les scénarios de sortie. La valeur par défaut est false.
  • ExtraValues: reportez-vous aux ExtraValues.Type valeurs prises en charge d’ExtraValues.

Exemple 1

Traiter le texte CSV avec des en-têtes de colonnes.

Utilisation

let
    csv = Text.Combine({"OrderID,Item", "1,Fishing rod", "2,1 lb. worms"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv))

Sortie

Table.FromRecords({
    [OrderID = "1", Item = "Fishing rod"],
    [OrderID = "2", Item = "1 lb. worms"]
})

Exemple 2

Traitez le texte CSV avec plusieurs caractères délimiteurs. Dans cet exemple, le troisième paramètre spécifie le modèle de délimiteur #|# à utiliser au lieu de la valeur par défaut.

Utilisation

let
    csv = Text.Combine({"OrderID#|#Color", "1#|#Red", "2#|#Blue"}, "#(cr)#(lf)")
in
    Table.PromoteHeaders(Csv.Document(csv, null, "#|#"))

Sortie

Table.FromRecords({
    [OrderID = "1", Color = "Red"],
    [OrderID = "2", Color = "Blue"]
})