1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

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

Posted at

はじめに

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

処理概要

image.png

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

処理フロー

処理フローの参考例はざっとこんな感じです。
image.png
グループ化している箇所についてもこんな感じです。
image.png
image.png

設定方法

①Excelを変数で開きます。
image.png

②CSVファイルを読み込み、Long Text型の変数に格納します
image.png
※「view as CSV」を使用して、CSVファイルの読み込みはできますがわざとやっていません。

③Short Textの今日日付という変数に日付を格納します。
形式:yyyyMMdd
image.png

④「Write File」ステップを使用し、ここで一旦txtファイルの出力を行います。
image.png

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

⑤「部分文字列繰り返し」というステップを使用します。
⇒文字列を指定の条件で区切ってループさせます。
image.png
この箇所の設定はこんな感じです。
image.png
デリミタ:コンプレッションを選択し、「"\r\n"」と入力してください。

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

⑥ヘッダーの名前が邪魔なので、値判定ステップで1行目をスキップさせます。
image.png

⑦また「部分文字列繰り返し」ステップを使用します。
今度は改行で区切った文字列を、カンマで区切ります。
image.png
改行で区切った文字列変数を入力値として、カンマ区切りというShort Text変数に格納します。

⑧カンマで区切った文字列をループさせます。
今回は、ステータスが未提出の人のみを抽出したいので「変数判定」ステップを使用します。
image.png
※エラー処理は「次のイテレーション」にします。
「未提出」という文字が無ければ次の行を見に行くようにします。

⑨「Write File」ステップを使用して、テキストファイルを出力します。
というよりは、ファイル追加にチェックを付けての出力になるので、元あるファイルの中身に追記みたいな感じですね。
image.png
ファイルの中身に追記する項目は、改行で区切った人をそのまま出力します。
※「ファイルに追加」のチェックは忘れないでくださいね。
image.png

⑩次にカレントウィンドウをExcelにし、行を挿入します。
行挿入の場所は最後にしてください。
カウントというInteger型の変数に0を代入してください。
(後で使用します。重要な役割を果たすので)
image.png

⑪もう1つ「部分文字列繰り返し」を置きます。
このループはExcelにカンマごとに出力するためのループです。
image.png

⑫カンマで区切った文字をExcelに出力します。一旦どこでもいいです。
image.png

⑫で、この状態だとずーっと同じ場所に書き続けるので上書きが行われます。
それを回避するために必要なのが、ループ前に使用した「カウント」という変数です。
image.png
範囲:行挿入した範囲
使用:指定位置の列
列:インデックスで指定
オフセット:値から変数に変更し、カウント変数を指定します。(初期値は0です)
すると、A列から順にカンマごとに出力します。

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

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

さいごに

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

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?