Jaa


Csv.Document

Syntaksi

 
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

Tietoja

Palauttaa CSV-tiedoston sisällön taulukkona.

  • columns voi olla tyhjäarvoinen, sarakkeiden määrä, sarakenimien luettelo, taulukkotyyppi tai asetustietue.
  • delimiter voi olla yksittäinen merkki, merkkiluettelo tai arvo "", joka ilmaisee, että rivit tulee jakaa peräkkäisillä välilyönti merkeillä. Oletus: ",".
  • Katso extraValuestuettujen arvojen ExtraValues.Type.
  • encoding määrittää tekstin koodaustyypin.

Jos on määritetty columns tietue (ja delimiter, extraValuesja encoding ovat tyhjäarvoisia), voidaan antaa seuraavat tietuekentät:

  • Delimiter: Yhden merkin sarake-erotin. Oletus: ",".
  • Columns: Voi olla tyhjäarvoinen, sarakkeiden määrä, sarakenimien luettelo tai taulukkotyyppi. Jos sarakkeiden määrä on pienempi kuin syötteessä todettu luku, lisäsarakkeet ohitetaan. Jos sarakkeiden määrä on suurempi kuin syötteessä todettu luku, lisäsarakkeet ovat tyhjäarvoisia. Kun tätä ei määritetä, sarakkeiden määrä määräytyy syötteestä löytyneiden mukaan.
  • Encoding: Tiedoston tekstin koodaus. Oletus: 65001 (UTF-8).
  • CsvStyle: Määrittää, miten lainausmerkkejä käsitellään.
  • QuoteStyle: Määrittää, miten lainausmerkin rivinvaihdot käsitellään.
    • QuoteStyle.Csv (oletus): Lainausmerkeissä olevia rivinvaihtoja käsitellään osana tietoja, ei nykyisen rivin lopussa.
    • QuoteStyle.None: Kaikkia rivinvaihtoja käsitellään nykyisen rivin lopussa, vaikka ne tapahtuisivat lainausmerkeissä olevan arvon sisällä.

Esimerkki 1

Käsittele CSV-teksti, jossa on sarakeotsikoita.

Käyttö

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

Tuloste

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

Esimerkki 2

Käsittele CSV-teksti, jossa on useita erottinmerkkejä. Tässä esimerkissä kolmas parametri määrittää käytettävän erotinmallin #|# oletusarvon sijaan.

Käyttö

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

Tuloste

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