Blue PrismでExcelを操作する<詳細版⑥> tsvファイルをコレクション化する際に、Blue Prism DXを活用する
いやぁ、あわただしい一年でしたねぇ。
※ 終わってません
tsvファイル(タブ区切り)をExcelに書き込む
tsvファイル…っていうのは、つまり↓ですよ。
tsvファイルをExcelに取り込みたいあなたへ。
以下のような手順を考えましたよ。
- BPA Object - Utility - File Management の Read All Text From File を使って、tsvファイルの中身を全部、テキストで取り込む
- 改行コードでバラバラにする
- さらにタブでバラバラにする
- コレクションとして組み立てなおす
- Excelにコレクションを書き込む
…ん?
改行コードとかタブとかでバラバラにするには、正規表現で検索してコレクションにする機能が必要な気がする。
通常の区切り文字(カンマとかスラッシュとか)でバラバラにして、コレクションにする機能は、標準部品の BPA Object - Utility - Strings の Split Text にあるけど、このアクションでは正規表現は使えないぞ。
こんな部品は、私の知る限り、Blue Prismの標準部品にはないはず。
どうしたらいいんだ。。もうダメなのか。。
Blue Prism DXからAVO.Regrexをダウンロードして使用する
先日、Blue Prism 6.4のリリースとともに、Blue Prism DXという部品のダウンロードサイトが公開されたことを紹介しました。
皆さん、活用されていますか?
いやぁ、別にオレ、AI機能とか使わないしな、そんなに意識高くないし。NewsPicksとか購読してねーんだよ俺はァ…といって、調べるのを怠っていませんか?
。。まぁ、例によって、私なんですけどね。最近、完全にノーマークでした。
実は、レッドブーツ88氏のロックな指摘により、なんと AVO Consulting が正規表現によるテキスト置換が可能…という最高にロックな部品をBlue Prism DXで公開していたことを知りました。
Blue Prism Digital Exchange AVO.Regex - Regular Expression (Regex) Search Utility
これで勝つる!
やってみる
まず、ファイルをテキストで読み取ります。
入力ファイルがこんな感じですから
こうなります。
次に、改行コードで行ごとのコレクションを作ります。
いろいろやり方はあると思いますが、今回は AVO.Regrex の Regrex Replace で改行コード(\r\n)を置換し、Utility - Strings の Split Text でコレクション化します。
こんな感じですね。
次に、このブログではすっかり個性派オブジェクトとして定着した Collection Manipulation の Read Collection Field で行のテキストを読取り、 AVO.Regrex の Regrex Replace で今度はタブ(\t)を置換、Utility - Strings の Split Text でコレクション化します。
こんな感じになります。
Split Text の出力は、仕様上、縦ベクトルになってしまうので、、
ここで、先日作った、行列転置を投入します。
横ベクトルにしたものは、以下の通りです。
これを、どんどんコレクションに追加すれば、最終的にこんなコレクションになります。
あとは Excel VBO で Create Instanceして、Write Collectionしてください。以下のような要領です。
最終的なプロセスの全体像は、こんな感じですかね。
(Excelへの書き込みは割愛してます)
まとめ
- tsvファイルのコレクション化、Excelへの貼り付けは、Blue Prism DXの力を借りれば、標準部品で作り切れる
- Blue Prism DX、意外と使える印象。ちゃんと部品をチェックしておきたい。。
- 行列転置、使おうと思えば、ちゃんと使い道がありますよ
『仕事は年内に終わったのか?』・・・だって?
そうだな・・・ わたしは『結果』だけを求めてはいない。
『仕事を終わらせる』という『結果』だけを求めていると、人は近道をしたがるものだ・・・
近道した時『真実』を見失うかもしれない。
やる気もしだいに失せていく。
大切なのは『真実に向かおうとする意志』だと思っている。
向かおうとする意志さえあれば、たとえ今回は『仕事』が『終わらなかった』としても、いつかはたどり着くだろう?・・・毎日が日曜日な毎日に。
向かっているわけだからな・・・違うかい?