Les på engelsk

Del via


Csv.Document

Syntaks

 
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

Om

Returnerer innholdet i CSV-dokumentet som en tabell.

  • columns kan være null, antall kolonner, en liste med kolonnenavn, en tabelltype eller en alternativpost.
  • delimiter kan være ett enkelt tegn, en liste over tegn eller verdien "", som angir at rader skal deles med etterfølgende mellomromstegn. Standard: ",".
  • Se ExtraValues.Type for de støttede verdiene i extraValues.
  • encoding angir tekstkodingstypen.

Hvis en post er angitt for columns (og delimiter, extraValuesog encoding er null), kan følgende postfelt angis:

  • Delimiter: Et skilletegn for kolonne med ett tegn. Standard: ",".
  • Columns: Kan være null, antall kolonner, en liste med kolonnenavn eller en tabelltype. Hvis antall kolonner er lavere enn tallet som ble funnet i inndataene, ignoreres de ekstra kolonnene. Hvis antall kolonner er høyere enn tallet som ble funnet i inndataene, vil de ekstra kolonnene være null. Når det ikke er angitt, bestemmes antall kolonner av hva som finnes i inndataene.
  • Encoding: Tekstkodingen av filen. Standard: 65001 (UTF-8).
  • CsvStyle: Angir hvordan anførselstegn håndteres.
  • QuoteStyle: Angir hvordan siterte linjeskift håndteres.
    • QuoteStyle.Csv (standard): Siterte linjeskift behandles som en del av dataene, ikke som slutten på gjeldende rad.
    • QuoteStyle.None: Alle linjeskift behandles som slutten av gjeldende rad, selv når de forekommer i en notert verdi.

Eksempel 1

Behandle CSV-tekst med kolonneoverskrifter.

Bruk

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

Utdata

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

Eksempel 2

Behandle CSV-tekst med flere skilletegn. I dette eksemplet angir den tredje parameteren skilletegnmønsteret #|# som skal brukes i stedet for standard.

Bruk

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

Utdata

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