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

Om

Returnerar innehållet i CSV-dokumentet som en tabell.

  • columns kan vara null, antalet kolumner, en lista med kolumnnamn, en tabelltyp eller en alternativuppsättning.
  • delimiter kan vara ett enskilt tecken, en lista med tecken eller värdet "", som anger att rader ska delas med efterföljande blankstegstecken. Standard: ",".
  • Se ExtraValues.Type för de värden som stöds för extraValues.
  • encoding anger typen av textkodning.

Om en post har angetts för columns (och delimiter, extraValuesoch encoding är null) kan följande postfält anges:

  • Delimiter: En kolumn avgränsare med ett tecken. Standard: ",".
  • Columns: Kan vara null, antalet kolumner, en lista med kolumnnamn eller en tabelltyp. Om antalet kolumner är lägre än det tal som finns i indata ignoreras de ytterligare kolumnerna. Om antalet kolumner är högre än det antal som finns i indata blir de ytterligare kolumnerna null. När det inte anges bestäms antalet kolumner av vad som finns i indata.
  • Encoding: Filens textkodning. Standard: 65001 (UTF-8).
  • CsvStyle: Anger hur citattecken hanteras.
  • QuoteStyle: Anger hur citerade radbrytningar hanteras.
    • QuoteStyle.Csv (standard): Citerade radbrytningar behandlas som en del av data, inte som slutet på den aktuella raden.
    • QuoteStyle.None: Alla radbrytningar behandlas som slutet på den aktuella raden, även när de inträffar i ett citerat värde.
  • IncludeByteOrderMark: Ett logiskt värde som anger om du vill inkludera en byteordermarkering (BOM) i början av CSV-utdata. När den är inställd på true, skrivs BOM (till exempel UTF-8 BOM: 0xEF 0xBB 0xBF); när den är inställd på false, ingår ingen BOM. Det här alternativet gäller endast i utdatascenarier. Standard är false.
  • ExtraValues: Se ExtraValues.Type för de värden som stöds för ExtraValues.

Exempel 1

Bearbeta CSV-text med kolumnrubriker.

Användning

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

Resultat

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

Exempel 2

Bearbeta CSV-text med flera avgränsartecken. I det här exemplet anger den tredje parametern det avgränsarmönster #|# som ska användas i stället för standardvärdet.

Användning

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

Resultat

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