使用英语阅读

通过


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"]
})