Csv.Document

语法

 
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

关于

返回 CSV 文档的内容作为表。

  • columns 可以为 null、列数、列名称列表、表类型或选项记录。
  • delimiter 可以是单个字符、字符列表或值 "",该值表示行应由连续的空白字符截断。 默认:","
  • 请参阅 ExtraValues.Type,了解 extraValues 的支持值。
  • encoding 指定文本编码类型。

如果为 columns 指定了记录(且 delimiterextraValuesencoding 为 null),则可能会提供以下记录字段:

  • Delimiter:单字符列分隔符。 默认:","
  • Columns:可以为 null、列数、列名称列表或表类型。 如果列数小于在输入中找到的数,则将忽略其他列。 如果列数大于在输入中找到的数,则其他列将为 null。 如果未指定,则列数将取决于输入中找到的数。
  • Encoding:文件的文本编码。 默认值:65001 (UTF-8)。
  • CsvStyle:指定如何处理引号。
  • QuoteStyle:指定如何处理带引号的换行符。
    • QuoteStyle.Csv(默认):带引号的换行符视为数据的一部分,而不视为当前行的末尾。
    • QuoteStyle.None:所有换行符都视为当前行的末尾,即使它们出现在带引号的值中。

示例 1

处理包含列标题的 CSV 文本。

使用情况

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

输出

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

示例 2

处理包含多个分隔符字符的 CSV 文本。 在此示例中,第三个参数指定了要使用的分隔符模式 #|#,而不是默认模式。

使用情况

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

输出

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