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.

  • columns Hodnota môže byť null, počet stĺpcov, zoznam názvov stĺpcov, typ tabuľky alebo záznam možností.
  • delimiter Hodnota môže byť jeden znak, zoznam znakov alebo hodnota "", ktorá označuje, že riadky by mali byť rozdelené podľa po sebe nasledujúcich prázdnych znakov. Predvolená hodnota: ",".
  • Podporované hodnoty ExtraValues.Typenájdete v extraValues .
  • encoding Hodnota určuje typ kódovania textu.

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 úvodzovkach 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 úvodzovkach.
  • IncludeByteOrderMark: Logická hodnota určujúca, či sa má na začiatok výstupu CSV zahrnúť značka poradia bajtov (Byte Order Mark). Keď je hodnota true, kusovník sa zapíše (napríklad UTF-8 BOM: 0xEF 0xBB 0xBF); keď je nastavená na hodnotu false, nie je zahrnutý žiadny kusovník. Táto možnosť je použiteľná len vo výstupných scenároch. Predvolené je false.
  • ExtraValues: Pozrite si ExtraValues.Type tému Podporované hodnoty funkcie ExtraValues.

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

Príklad 3

Spracovať csv text s vlastným oddeľovačom a pevným počtom stĺpcov.

Použitie

Csv.Document(
    "1|Barb#(cr)#(lf)2|Cal",
    [
        Delimiter = "|",
        Columns = 3
    ]
)

Výkon

Table.FromRecords({
    [Column1 = "1", Column2 = "Barb", Column3 = ""],
    [Column1 = "2", Column2 = "Cal", Column3 = ""]
})

Príklad 4

Spracovať text CSV s vlastným oddeľovačom a množinou vlastných názvov stĺpcov, pričom povaľujte zlomy riadkov vložené v úvodzovkách ako na konci aktuálneho riadka.

Použitie

Csv.Document(
    "1|Barb|""Smith#(cr)#(lf)2|Cal|Fisher",
    [
        Delimiter = "|",
        Columns = type table [ID = text, First Name = text, Last Name = text],
        QuoteStyle = QuoteStyle.None
    ]
)

Výkon

Table.FromRecords({
    [ID = "1", First Name = "Barb", Last Name = "Smith"],
    [ID = "2", First Name = "Cal", Last Name = "Fisher"]
})