6 CSVからJSONへの保存前処理

概要

この保存前処理で、CSVファイルデータをJSON形式に変換することが可能です。サポートしているのは、

  • アイテム(アイテムのプロトタイプ)
  • ローレベルディスカバリルール

設定

CSV to JSON の前処理ステップを設定するには、次の手順を実行します。

最初のパラメータでは、カスタム区切り文字を設定できます。CSV 入力の最初の行が "Sep=" で始まり、その後に単一の UTF-8 文字が続く場合、最初のパラメータが設定されていなければ、その文字が区切り文字として使用されます。最初のパラメータが設定されておらず、かつ "Sep=" 行から区切り文字が取得できない場合は、カンマが区切り文字として使用されます。

2 つ目の任意パラメータでは、引用符を設定できます。

With header row チェックボックスをオンにすると、ヘッダー行の値は列名として解釈されます(詳細は Header processing を参照してください)。

Custom on fail チェックボックスをオンにすると、前処理ステップが失敗してもアイテムは unsupported になりません。さらに、カスタムエラー処理オプションを設定できます。値を破棄する、指定した値を設定する、または指定したエラーメッセージを設定します。

ヘッダー処理

CSVファイルのヘッダー行は、2種類の方法で処理することができます。

  • ヘッダ行を含むチェックボックスがチェックされている場合 - ヘッダー行の値はカラム名として解釈されます。この場合、カラム名は一意でなければならず、データ行はヘッダー行より多くのカラムを含んではなりません。
  • ヘッダ行を含むチェックボックスがチェックされていない場合 - ヘッダー行はデータとして解釈されます。カラム名は自動的に生成されます(1,2,3,4...)。

CSVファイルの例:

Nr,Item name,Key,Qty
1,active agent item,agent.hostname,33
"2","passive agent item","agent.version","44"
3,"active,passive agent items",agent.ping,55

入力の引用フィールド内の引用文字は、その前に別の引用文字を置くことでエスケープしなければいけません。

ヘッダー行の処理

ヘッダー行が検出される場合のJSON出力:

[
   {
      "Nr":"1",
      "Item name":"active agent item",
      "Key":"agent.hostname",
      "Qty":"33"
   },
   {
      "Nr":"2",
      "Item name":"passive agent item",
      "Key":"agent.version",
      "Qty":"44"
   },
   {
      "Nr":"3",
      "Item name":"active,passive agent items",
      "Key":"agent.ping",
      "Qty":"55"
   }
]

ヘッダー行の処理なし

ヘッダー行が検出できない場合のJSON出力:

[
   {
      "1":"Nr",
      "2":"Item name",
      "3":"Key"
      "4":"Qty"
   },
   {
      "1":"1",
      "2":"active agent item",
      "3":"agent.hostname"
      "4":"33"
   },
   {
      "1":"2",
      "2":"passive agent item",
      "3":"agent.version"
      "4":"44"
   },
   {
      "1":"3",
      "2":"active,passive agent items",
      "3":"agent.ping"
      "4":"55"
   }
]