英語で読む

次の方法で共有


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 は、行を連続する空白文字で分割する必要があることを示す、1 文字、文字の一覧、または値 "" を指定できます。 既定値:","
  • extraValues のサポートされる値については、ExtraValues.Type を参照してください。
  • encoding は、 テキスト エンコード 型を指定します。

レコードが columns (delimiterextraValuesencoding は null) に対して指定されている場合、次のレコード フィールドを指定することができます。

  • Delimiter: 1 文字の列区切り記号。 既定値:","
  • 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 テキストを処理します。 この例では、3 番目のパラメーターで既定値の代わりに、区切り記号パターン #|# を使用するよう指定しています。

使用方法

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