Csv.Document
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
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
, extraValues
i 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.- CsvStyle.QuoteAfterDelimiter (wartość domyślna): Cudzysłowy w polu są istotne bezpośrednio po ograniczniku.
- CsvStyle.QuoteAlways: Cudzysłowy w polu są zawsze znaczące, niezależnie od tego, gdzie się pojawiają.
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.
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"]
})
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"]
})