Udostępnij za pośrednictwem


Csv.Document

Składnia

 
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

Informacje

Zwraca zawartość dokumentu CSV jako tabelę.

  • columns może mieć wartość null, liczbę kolumn, listę nazw kolumn, typ tabeli lub rekord opcji.
  • delimiter może być pojedynczym znakiem, listą znaków lub wartością "", która wskazuje, że wiersze powinny być dzielone przez kolejne znaki odstępu. Wartość domyślna: ",".
  • Zobacz ExtraValues.Type, aby zapoznać się z obsługiwanymi wartościami extraValues.
  • encoding określa typ kodowania tekstu.

Jeśli określono columns rekord (i delimiter, extraValuesi encoding mają wartość null), można podać następujące pola rekordów:

  • Delimiter: ogranicznik kolumn z pojedynczym znakiem. Wartość domyślna: ",".
  • Columns: może mieć wartość null, liczbę kolumn, listę nazw kolumn lub typ tabeli. Jeśli liczba kolumn jest niższa niż liczba znaleziona w danych wejściowych, dodatkowe kolumny zostaną zignorowane. Jeśli liczba kolumn jest większa niż liczba znaleziona w danych wejściowych, dodatkowe kolumny będą mieć wartość null. Jeśli nie zostanie określona, liczba kolumn będzie określana przez to, co znajduje się w danych wejściowych.
  • Encoding: kodowanie tekstu pliku. Ustawienie domyślne: 65001 (UTF-8).
  • CsvStyle: określa sposób obsługi cudzysłowów.
  • QuoteStyle: określa sposób obsługi zacytowanych podziałów wierszy.
    • QuoteStyle.Csv (wartość domyślna): podziały wierszy w cudzysłowie są traktowane jako część danych, a nie jako koniec bieżącego wiersza.
    • QuoteStyle.None: Wszystkie podziały wierszy są traktowane jako koniec bieżącego wiersza, nawet jeśli występują wewnątrz wartości cudzysłowu.

Przykład 1

Przetwarzanie tekstu CSV z nagłówkami kolumn.

Użycie

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

Wyjście

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

Przykład 2

Przetwarzanie tekstu CSV z wieloma znakami ogranicznika. W tym przykładzie trzeci parametr określa wzorzec #|# ogranicznika do użycia zamiast domyślnego.

Użycie

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

Wyjście

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