Bizrobo! CSVからExcelファイルへの変換(多項目の場合)

RPA
すー
すー

まいど!福地です。

今回は「CSVの項目数が多い」時のExcelファイルへの変換の仕方についてです(^^)/

前回「CSVからExcelファイルへの変換」の記事を書きましたが、あくまで項目数がそこまで多くない場合での方法でした。

しかしCSVの項目があまりにも多いと、タイプを作成した後の変数の作成がかなり面倒ですよね💦

変数を作るだけで時間かかりますし、量が多ければ多いほど抽出ミスも増えてしまいます💦

そこで、今回はそんな問題に直面した時の対処法をご紹介したいと思います!(^^)!

CSVからExcelファイルへの変換 記事はコチラ↓

変数・ファイル読込の準備

今回使う変数は2つだけです!

・転記用Excel(タイプ:Excel) ※「 グローバル 」にチェックを入れてください

・項目(タイプ:Short Text)

変数が準備できたら、次はファイル読込ですね!

①「変数を開く」ステップで作成したExcel変数「転記用Excel」を開きます。

②「ファイル読込」ステップを追加し、抽出したいCSVファイルを読み込みます。

③「アクションを選択」より「開く(読み取り専用)」を選択します。

①~③まで実行した画面

※1行目がヘッダーになってしまってる場合は、「View as CSV」ステップのアクションにて「ヘッダーを使用」のチェックを外してください。 

 

これでそれぞれのファイルの読み込み準備は整いました(∩´∀`)∩

CSVデータ抽出からExcelファイル出力処理

①「データ行繰り返し」ステップを入れる

1行目にて右クリックし、「データ行繰り返し」を選択してください。

 

②「行挿入」ステップを入れる

転記するステップの画面を開く

読込済の転記用ファイルにて右クリックし、「現在のウィンドウとして設定」をクリックする

 

 行を挿入する

シート全体を選択(左上赤枠)し、右クリックで行を挿入する
(「最後(右下赤枠)」をせんたくすること行が下に追加されていく)

 

 ③データを抽出していく

データを抽出するため、CSVファイル画面に戻します。

読込済CSVファイル(赤枠)にて右クリックし、 「現在のウィンドウとして設定」をクリックする

 

 各列を抽出していくため、「繰り返し」ステップを入れる

 

 1行目の1列目(左赤枠)の値を作成した変数「項目」に抽出します。

 

「データ行の列を抽出」ステップができるので、設定していきます。

ファインダーにて、インデックスをエクスプレッションにし、「iteration()」を入れます
(関数から選べますが、項目が隠れている場合があるので見つからなければ直打ちしてください)

 

エラー処理を設定します。

「ループ終了」を選択する

 

 抽出した値を転記するため、転記用ファイルを開きます。

読込済の転記用ファイルにて右クリックし、「現在のウィンドウとして設定」をクリックする

 

抽出した変数「 項目 」を転記します。

赤枠にて右クリックし、「コンテンツ設定」より変数「項目」を選択する

 

 「セルのコンテンツ設定」ステップができるので、設定していきます。

ファインダーにて、オフセットでエクスプレッションを選択し、 「iteration()-1」を入れる
( 「iteration()」だとデフォルトで「1」が入る。これだと2列目から入力されてしまうので「-1」する)

 

CSVファイル画面に戻します。

読込済CSVファイル(赤枠)にて右クリックし、 「現在のウィンドウとして設定」をクリックする

  

「次へ」ステップを入れます。

CSVファイル画面に戻し、「次へ」ステップを入れることで、「Repeat」ステップに戻り2列目の値が抽出できる

  

「ファイル出力」ステップを入れ、Excelファイルを出力します。

「For Each Data Row」の前にブランチを追加し、「ファイル出力」ステップを追加する
ファイル名は任意で設定する(直打ちの場合は拡張子「.xlsx」まで入れてください)
ファイルコンテンツは作成したExcel変数「転記用Excel」を選択する
ファイルエンコーディングは「Windows 日本語」を選択する

最後にデバッグしてみましょう。出力結果を見るとちゃんと出力されてますね!

 

これで設定は終了になります!お疲れ様でした(*´ω`)

前回の記事でまとめて説明できればよかったのですが、時すでに遅しで申し訳ございませんでした💦

最後に

いかがでしたか?

CSVの項目数が膨大な場合はぜひこの方法も視野に入れて開発していただければと思います!

また、「こんなやり方もあるよー!」や「それは違う!」等ございましたら惜しみなくコメントくださいm(__)m

個人的には「iteration()」って結構使えるやん!と、作ってて感動してました笑

GWが終わりかけですが、変わらずBizrobo!触って「Biz充」しよう(^^♪

少しでも興味を持っていただけましたらTwitterのフォロー宜しくお願い致しますm(_ _)m

ではでは、引き続きBizrobo!開発に有益な情報発信していきたいと思いますので、今後ともよろしくお願いいたします!

コメント

タイトルとURLをコピーしました