[WinActor]CSVでUNIONクエリ(ファイルマージ)

CSVで取得したデータでWinActorの繰り返し処理したい。

CSVは所定のフォルダに各担当がポンポンいれて、順番に処理したい。

とりあえず、CSVをマージして1つのファイルにまとめてから繰り返し処理で使いたいなーって思いますよね。

 

はい、スクリプト実行ステージで作ってみました。

 

1.CSVファイルをひとつにまとめる(UNIONクエリ的な?)

ここが可愛いポイント♪

  • ちゃんと、CSVの項目名を見て列の順番が違くても同じ項目の列にデータを追加して行追加してくれます。
  • 元ファイルにない項目名が追加CSVに含まれていても、元ファイル側に項目を追加して行追加してくれます。
  • 全項目が、ダブルクオーテーションありの区切りリストに変換されます。

項目名が空白の列は強制的に削除されます。

(WinActorが取り込む際、空白の項目名があると、それより右側の項目が読めなくなるので・・・)

項目の順番を気にしなくて良いっていうのは、OCRと組み合わせて使う際に強力な効果を生み出しますね。

スクリプト実行ステージのスクリプトタブに以下のコードを張り付ければ実装できます。

 

2.設定タブはこんな感じ。

  • マスター出力ファイル : データ吸収する方のCSVファイルをフルパス指定(上書きされます)
  • 取り込みファイル名  : 取り込みされる方のCSVファイルをフルパス指定

マスター出力ファイルは、ファイルの無いパスを指定しても取り込みファイルだけのデータでそこにファイルを生成してくれます。

[WinActor]フォルダ内のファイルを順に処理するシナリオ

↑この記事で紹介したフォルダ内のファイルを順次処理する「何かの処理」のところに配置して使えば、所定のフォルダ内のCSVファイルをすべて1つのCSVファイルにマージすることができる訳ですねぃ。

それから「繰り返し」ノードの「データ数」オプションでデータファイルにCSVを指定すれば、全レコードの処理ができちゃう訳ですねぃ。

 

3.適用イメージはこんな感じ。

マスターファイルは上書きなので注意してねー。

イメージの例では、「個数」っていう新しい列があったら追加されるって表現してます。

ちゃんと同じ項目だったら何も項目増えないし、項目の並び順が違くても大丈夫ですよん。

タグ: ,

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です