CSVファイルのクリーンアップとフィルタリング
このジョブでは、csvファイル内のさまざまな誤入力や欠陥を検索および置換し、最終出力で新しいcsvファイルを生成する前にカラムのフィルタリングを実行します。
Talendでサポートされているテクノロジーの詳細は、Talendコンポーネントをご覧ください。
-
次のコンポーネント、tFileInputDelimited、tReplace、tFilterColumn、tFileOutputDelimitedを、[Palette] (パレット)からデザインワークスペースにドロップします。
-
[Main Row] (メイン行)接続を使用し、各コンポーネントを右クリックして、コンポーネントを接続します。
-
tFileInputDelimitedコンポーネントを選択し、入力フローパラメーターを設定するために使われます。
-
[File] (ファイル)は、ローカルに保存された単純なcsvファイルです。[Row Separator] (行区切り)はキャリッジリターンで、[Field Separator] (フィールド区切り)はセミコロンです。[Header] (ヘッダー)にはカラム名が設定されており、[Footer] (フッター)も[Limit] (制限)も設定しません。
-
ファイルには次のような文字が含まれています: *t, .やNikson: これはNixonに変換します。streat: これはStreetに変換します。
-
このファイルのスキーマは組み込まれており、さまざまな型(文字列または整数)のカラム4つで構成されています。
-
ここで、tReplaceコンポーネントを選択し、検索と置換のパラメーターを設定するために使われます。
-
スキーマは入力フローと同期できます。
-
[Simple mode] (単純モード)チェックボックスをオンにします。検索パラメーターは、正規表現を使用せずに簡単に設定できるからです。
-
[+]記号をクリックし、パラメーターテーブルに行を追加します。
-
最初のパラメーター行で、InputColumnにAmountを選択します。[Search] (検索)フィールドに"."と入力し、[Replace] (置換)フィールドに","と入力します。
-
2番目のパラメーター行で、InputColumnにStreetを選択します。[Search] (検索)フィールドに"streat"と入力し、[Replace] (置換)フィールドに"Street"と入力します。
-
3番目のパラメーター行で、InputColumnに再びAmountを選択します。[Search] (検索)フィールドに"$"と入力し、[Replace] (置換)フィールドに"£"と入力します。
-
4番目のパラメーター行で、InputColumnにNameを選択します。[Search] (検索)フィールドに"Nikson"と入力し、[Replace] (置換)フィールドに"Nixon"と入力します。
-
5番目のパラメーター行で、InputColumnにFirstnameを選択します。[Search] (検索)フィールドに、"*t"と入力し、二重引用符の間に何も入力せずに置換します。
-
詳細モードはこのシナリオでは使用しません。
-
ジョブ内の次のコンポーネント、tFilterColumnを選択します。
-
tFilterColumnコンポーネントにはスキーマエディターが含まれており、入力スキーマのカラム名に基づいて出力スキーマをビルドできます。このユースケースでは、empty_fieldという新しい名前のカラムを追加し、入力スキーマカラムの順序を変更して、次のスキーマを取得します: empty_field, Firstname, Name, Street, Amount。
-
[OK]をクリックして確定します。
-
tFileOutputDelimitedプロパティを手動で設定します。
-
スキーマはこのシナリオに組み込まれており、ジョブ内の前のコンポーネントに由来します。
-
ジョブを保存し、F6を押して実行します。
最初のカラムは空で、残りのカラムは寄生文字からクリーンアップされており、NiksonはNixonに置換されています。streetカラムは移動しており、通貨記号と共に10進数区切りはドットからコンマに変わっています。