Läs på engelska

Dela via


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 alternativpost.
  • 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.
  • encodinganger textkodningstypen.

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.

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

Output

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, "#|#"))

Output

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