Čítať v angličtine

Zdieľať cez


Csv.Document

Syntax

 
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

Informácie

Vráti obsah dokumentu CSV ako tabuľku.

Ak je ako columns hodnota zadaný záznam (a delimiter, extraValuesa encoding majú hodnotu null), môžu sa zadať nasledujúce polia záznamu:

  • Delimiter: Oddeľovač stĺpcov s jedným znakom. Predvolená hodnota: ",".
  • Columns: Môže mať hodnotu null, počet stĺpcov, zoznam názvov stĺpcov alebo typ tabuľky. Ak je počet stĺpcov nižší ako číslo nájdené vo vstupe, ďalšie stĺpce sa ignorujú. Ak je počet stĺpcov vyšší ako číslo nájdené vo vstupe, ďalšie stĺpce budú mať hodnotu null. Ak nie je zadaný, počet stĺpcov sa určí podľa toho, čo sa nájde vo vstupe.
  • Encoding: Textové kódovanie súboru. Predvolená hodnota: 65001 (UTF-8).
  • CsvStyle: Určuje spôsob narábaní s úvodzovkami.
  • QuoteStyle: Určuje spôsob narábaní so zlomami riadkov v úvodzovkach.
    • QuoteStyle.Csv (predvolené): Zlomy riadkov v úvodzovkách sa považujú za súčasť údajov, nie ako koniec aktuálneho riadka.
    • QuoteStyle.None: Všetky zlomy riadkov sa považujú za koniec aktuálneho riadka, aj keď sa vyskytujú v rámci hodnoty v úvodzovkách.

Príklad č. 1

Spracovať text CSV s hlavičkami stĺpcov.

Použitie

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

Výkon

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

Príklad č. 2

Spracovať text CSV s viacerými znakmi oddeľovača. V tomto príklade tretí parameter určuje vzor #|# oddeľovača, ktorý sa má použiť namiesto predvoleného nastavenia.

Použitie

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

Výkon

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