マッパーでCSVでレコードの中にある空文字列を数字の0に変換する。

今回使用するフロー

filegetでCSVとしてファイルを読み込んだ後、マッパーを使って空文字列のフィールドを数字の0が入ったフィールドにします。

マッパーでの処理

最初にnullconverterで空文字列nullに変えます。その次にnullconverterの出力と中身がnullのconstを入力としてifに繋がります。
ifでは入力が同じかどうかを判定していて、同じなら0、そうでないなら入力4の元のストリームを出力します。

※下図では比較のためストリームのフィールドに値が入っている「商品名」と空文字列の「0を入れるフィールド」で同じ処理をしています。

読み込むCSVの内容

お茶,,2リットル,300円

読み込んだ後のフィールド名は先頭から、商品名,0を入れるフィールド,量,金額
となっています。(上図右下のストリームタブを参照)

確認

ステップ実行で動かして、filegetで読み込んだ時の内容と、マッパーで処理を行った後の内容を確認します。

filegetで読み込んだときは2つ目のフィールドは空文字列になっています。

マッパーの実行後では2つ目のフィールドは空文字列になっています。
また、空文字列ではない1つ目のフィールドは「お茶」と入力されたままになっています。