質問
CSVファイルでカラム名を除くレコードを削除する方法を教えてください。
回答
一例として、下記のようなスクリプトを構成することでカラム名を除くレコードを削除することが可能です。
■スクリプトのフロー図
■各コンポーネントの設定ポイント
- [CSVファイル読み取り]処理
[読み取り設定]の[最初の行は値として取得しない]をチェックしてください。 - [CSVファイル書き込み]処理
[CSVファイル読み取り]処理と同じファイルを指定します。
[書き込み設定]の[上書き]と[1行目に列名を挿入]をチェックしてください。 - [マッピング]
[条件による抽出]ロジックで全レコードに合致しない条件を設定します。
条件だけでなく、各カラムもつないでください。
条件に合致するレコードがないため、ファイルにカラム名のみ出力されます。
今回読み込む対象のサンプルのレコードデータは以下のとおりとなります。
[数量]が「10」のレコードは存在しないため、入力データの[数量]と「10」を設定した[数値定数ロジック]を[等しいロジック]につなぎ、[条件による抽出ロジック]につなぎます。
それ以外のマッピングは以下のとおりとなります。
スクリプトを実行するとCSVファイルの内容は以下のようになります。
なお、上記の方法ですとオリジナルファイルを書き換える形となります。
オリジナルファイルのデータを残したい場合には、下記の次善策をご検討ください。
・処理前にバックアップを取り、処理が正常に完了したらバックアップを削除する
・別ファイルに書き出し、処理完了後に元ファイルに置き換える
コメント
0件のコメント
記事コメントは受け付けていません。