Lire en anglais

Partager via


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 : ",".
  • Reportez-vous à ExtraValues.Type pour les valeurs de prises en chargeextraValues.
  • encodingspé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 (par défaut) : Les guillemets dans un champ sont significatifs seulement immédiatement après le délimiteur.
    • CsvStyle.QuoteAlways : les guillemets dans un champ sont toujours significatifs, quel que soit l’emplacement où ils apparaissent.
  • QuoteStyle : Spécifie comment les sauts de ligne entre guillemets sont traités.
    • QuoteStyle.Csv (par défaut) : les sauts de ligne entre guillemets sont traités comme faisant partie des données, et non pas comme fin de la ligne actuelle.
    • QuoteStyle.None : tous les sauts de ligne sont traités comme fin de la ligne actuelle, même quand ils se trouvent à l’intérieur d’une valeur entre guillemets.

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"]
})