【初心者必見！】BizRoboのDSでCSVファイルからテキストとExcelに出力してみた

#はじめに
みなさんいかがお過ごしでしょうか。
今回はBizRoboのDSを使用して、CSVファイルからテキストファイルとExcelファイルに出力する方法を紹介したいと思います。
使用する機会があればぜひ使用してみてください。
あ、ちなみに別にテキストファイルやExcelファイルの出力先に関しては、お好みでお願い致します。
あえて2ついっぺんに紹介したいと思います。

#処理概要
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/e657587b-51ed-3cc2-02b3-863b3d4cdf97.png)

①上記図のようにCSVファイルの中身がこのようになっています。
②この図の中からステータスが「未提出」の人のみを抽出して、テキストファイルとExcelに転記します。


#処理フロー
処理フローの参考例はざっとこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/7dff58de-4d49-0696-6ddc-7232c60d3fc8.png)
グループ化している箇所についてもこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/2fcc9d62-7e2a-b546-d0a7-a7ba66a544ba.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/ef1b7950-cb6a-06b6-6a7d-ad64a574d115.png)

#設定方法
①Excelを変数で開きます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/5fca4364-d8ba-23d7-4aea-b740a3dce783.png)

②CSVファイルを読み込み、Long Text型の変数に格納します
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/df5407b2-7ff4-fead-abbb-c829b886b1a2.png)
※「view as CSV」を使用して、CSVファイルの読み込みはできますがわざとやっていません。

③Short Textの今日日付という変数に日付を格納します。
形式：yyyyMMdd
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/d7c56301-0c7b-ab2b-6818-85ce79bda8cc.png)

④「Write File」ステップを使用し、ここで一旦txtファイルの出力を行います。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/6fb37762-7a50-7c45-2d16-b129efb3f0bf.png)

※1　筆者の場合は、Cドライブに「yyyyMMdd.txt」でファイルを出力します。
※2　ファイルコンテンツにはファイルの中身を設定できます。（この段階では何も書かなくても大丈夫です）

⑤「部分文字列繰り返し」というステップを使用します。
⇒文字列を指定の条件で区切ってループさせます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/a19b1fb7-7927-3fb3-3319-738511cde4df.png)
この箇所の設定はこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/11e54447-5262-b013-6b1a-e31aa23bf12d.png)
デリミタ：コンプレッションを選択し、「"\r\n"」と入力してください。

ここではLong Textに格納している文字を改行で区切り、
改行区切りというShort Textの変数に改行で区切った文字列を格納しています。

⑥ヘッダーの名前が邪魔なので、値判定ステップで1行目をスキップさせます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/faa34a73-6315-555a-e777-8d2045faed95.png)

⑦また「部分文字列繰り返し」ステップを使用します。
今度は改行で区切った文字列を、カンマで区切ります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/c092d122-e38b-d97f-b955-1b11b5d829af.png)
改行で区切った文字列変数を入力値として、カンマ区切りというShort Text変数に格納します。

⑧カンマで区切った文字列をループさせます。
今回は、ステータスが未提出の人のみを抽出したいので「変数判定」ステップを使用します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/68b2f18b-5b91-f30e-64e1-a41bccab4e50.png)
※エラー処理は「次のイテレーション」にします。
「未提出」という文字が無ければ次の行を見に行くようにします。

⑨「Write File」ステップを使用して、テキストファイルを出力します。
というよりは、ファイル追加にチェックを付けての出力になるので、元あるファイルの中身に追記みたいな感じですね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/2cce11ba-5f22-ad7b-234c-54472d101938.png)
ファイルの中身に追記する項目は、改行で区切った人をそのまま出力します。
※「ファイルに追加」のチェックは忘れないでくださいね。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/5f3d3930-bfdf-23ac-3580-66f58d7f740f.png)

⑩次にカレントウィンドウをExcelにし、行を挿入します。
行挿入の場所は最後にしてください。
カウントというInteger型の変数に0を代入してください。
（後で使用します。重要な役割を果たすので）
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/8c0bcac6-aeb9-366c-ae11-6b2740f0b4c0.png)

⑪もう1つ「部分文字列繰り返し」を置きます。
このループはExcelにカンマごとに出力するためのループです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/5c168dc3-a8b0-7890-fc93-6466df0cc4ce.png)

⑫カンマで区切った文字をExcelに出力します。一旦どこでもいいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/08216066-35c0-b52d-17b2-0dba85a5806a.png)

⑫で、この状態だとずーっと同じ場所に書き続けるので上書きが行われます。
それを回避するために必要なのが、ループ前に使用した「カウント」という変数です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/1902544/fe9deaa8-9482-fcdc-dc4c-803f77295869.png)
範囲：行挿入した範囲
使用：指定位置の列
列：インデックスで指定
オフセット：値から変数に変更し、カウント変数を指定します。（初期値は0です）
すると、A列から順にカンマごとに出力します。

⑬で、カウント変数にインクリメントをしてあげてこのループは終了です。

⑭あとは、CSVのループが終了したらExcelとテキストファイルを出力するのみで完了です！
お疲れ様でした。

#さいごに
あくまで参考です。
使用する機会があればぜひ使用してみてください。
さいごまでご覧いただきありがとうございました。