RPA (Web情報回収008_データ操作_Excelへの落とし込み)
■個々のデータを処理しExcelへ落とし込む。
前回、得られたデータ(1つの長い文字列となっているもの)を、個々のデータのリストにまで変換した。これらに対して、処理を加えていく。
個々のデータの1セットは下のような感じ。
①(Separator)
②唐揚一味マヨ丼
③682kcal
④498円(税込)
⑤発売日2021.03.30
⑥※中部・沖縄地域のローソンではお取り扱いしておりません。(ない場合あり)
While文でループし①から1文ずつ処理をするとして、次のようにExcelのA列からE列まで入れるようにする。
少し試行錯誤して、次のかたちにした。
If Separatorがある場合 (①の場合)
ExcelのセルをA列に設定する。
Excelの行を1つ送る。
1セットのデータをまとめる変数(セット用変数:E列に入れる)を空にする
Else if (①でない場合) ExcelのセルがA列の場合
②をセット用変数に追加
②をA列のセルに設定
ExcelのセルをB列に設定する。
Else if (①でない場合) ExcelのセルがB列の場合
③をセット用変数に追加(下の処理前のもの)
③からkcalを削除。
処理後のものをB列のセルに設定
ExcelのセルをC列に設定する。
Else if (①でない場合) ExcelのセルがC列の場合
④をセット用変数に追加(下の処理前のもの)
④から円(以降)を削除。
処理後のものをC列のセルに設定
ExcelのセルをD列に設定する。
Else if (①でない場合) ExcelのセルがD列の場合
⑤をセット用変数に追加(下の処理前のもの)
⑤から発売日を削除。
処理後のものをD列のセルに設定
セット用変数をE列に設定(E列がない場合、次がSeparatorとなり下のElseが通らないため)
ExcelのセルをE列に設定する。
Else (①でない場合)
⑥をセット用変数に追加
これをE列のセルに設定
RPAのアクションについて、セット用変数に追加する場合は「文字列: 代入」を使用し、kcalや円などを削除する場合は「文字列: テキストを抽出」を使用した。
これでBotを実行した結果(一部)が下のもの。対象は4/6。
だいたい意図しているように出力された。
(kcalの項目がない場合など、価格や販売日が出力されないときもある。)
個別の不具合はあるけど、これで一端Excelへの落とし込みは完了として続ける。
今は、実行ボタンを直接押してBotを動かしているが、トリガーから自動的に実行できないか考えてみる。