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
的支援值,請參閱 ExtraValues.Type。 -
encoding
指定 文字編碼 類型。
如果針對 columns
指定了記錄 (且 delimiter
、extraValues
和 encoding
均為 null),則可提供下列記錄欄位:
-
Delimiter
:單一字元資料行分隔符號。 預設值:","
。 -
Columns
:可為 null、資料行數、資料行名稱清單或資料表類型。 如果資料行數少於輸出中找到的資料行數,則會忽略額外的資料行。 如果資料行數高於輸出中找到的資料行數,則額外的資料行就會是 null。 未指定時,資料行數將取決於輸出中找到的項目。 -
Encoding
:檔案的文字編碼。 預設值:65001 (UTF-8)。 -
CsvStyle
:指定引號的處理方式。- CsvStyle.QuoteAfterDelimiter (預設):欄位中的引號必須緊接在分隔符號之後才有效。
- CsvStyle.QuoteAlways:欄位中的引號在任何位置都有效。
-
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"]
})