Csv.Document

Szintaxis

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

Rólunk

A CSV-dokumentum tartalmát táblaként adja vissza.

  • columns Lehet null érték, oszlopok száma, oszlopnevek listája, táblázattípus vagy beállításrekord.
  • delimiter lehet egy karakter, egy karakterlista vagy egy érték "", amely azt jelzi, hogy a sorokat egymást követő szóköz karakterekkel kell felosztani. Alapértelmezett: ",".
  • Lásd a ExtraValues.Typetámogatott értékeit a extraValues-ban.
  • encoding a szövegkódolási típust adja meg.

Ha egy rekord meg van adva columns (és delimiter, extraValuesés encoding null), a következő rekordmezők adhatók meg:

  • Delimiter: Egy karakterből álló oszlopelválasztó. Alapértelmezett: ",".
  • Columns: Lehet null érték, oszlopok száma, oszlopnevek listája vagy táblázattípus. Ha az oszlopok száma alacsonyabb, mint a bemenetben található szám, a program figyelmen kívül hagyja a további oszlopokat. Ha az oszlopok száma nagyobb, mint a bemenetben található szám, a további oszlopok null értékűek lesznek. Ha nincs megadva, az oszlopok számát a bemenetben található érték határozza meg.
  • Encoding: A fájl szövegkódolása. Alapértelmezett: 65001 (UTF-8).
  • CsvStyle: Az idézőjelek kezelésének módját adja meg.
    • CsvStyle.QuoteAfterDelimiter (alapértelmezett): A mezőkben lévő idézőjelek csak közvetlenül a határolójelet követve jelennek meg.
    • CsvStyle.QuoteAlways: A mezőkben lévő idézőjelek mindig jelentősek, függetlenül attól, hogy hol jelennek meg.
  • QuoteStyle: Az idézett sortörések kezelésének módját adja meg.
    • QuoteStyle.Csv (alapértelmezett): Az idézett sortörések nem az aktuális sor végeként, hanem az adatok részeként lesznek kezelve.
    • QuoteStyle.None: Minden sortörés az aktuális sor végeként lesz kezelve, még akkor is, ha egy idézett értékben fordulnak elő.
  • IncludeByteOrderMark: Logikai érték, amely azt jelzi, hogy a CSV-kimenet elején szerepeljen-e bájtsorrendjel (BOM). Ha igaz értékre van állítva, a rendszer megírja a BOM-t (például UTF-8 BOM: 0xEF 0xBB 0xBF); ha hamis értékre van állítva, a rendszer nem tartalmaz anyagjegyzéket. Ez a beállítás csak kimeneti forgatókönyvekben alkalmazható. Az alapértelmezett érték false.
  • ExtraValues: Tekintse meg ExtraValues.Type az ExtraValues támogatott értékeit.

1. példa

CSV-szöveg feldolgozása oszlopfejlécekkel.

Használat

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

Kimenet

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

2. példa

CsV-szöveg feldolgozása több elválasztó karakterrel. Ebben a példában a harmadik paraméter az alapértelmezett helyett a használandó elválasztó mintát #|# adja meg.

Használat

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

Kimenet

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

3. példa

CSV-szöveg feldolgozása egyéni elválasztójellel és rögzített számú oszlopmal.

Használat

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

Kimenet

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

4. példa

CSV-szöveg feldolgozása egyéni elválasztójellel és egyéni oszlopnevek készletével, miközben az idézőjelekbe ágyazott sortöréseket az aktuális sor végeként kezeli.

Használat

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

Kimenet

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