まいど!福地です。
今回はなんと
「CSVデータのループ処理」
です!
「CSVのデータを分割してループできればなあ(CSVデータは1行のデータのため)」と、苦しめられてきました( ;∀;)
「今までCSVのデータ分変数を作ってきた」という 方いらっしゃるかと思いますが、その解決法の1つとなりうるのではないかと思いますので、ご紹介させていただきます!
※今回ご紹介する方法は規則性があるデータの場合に限ります(ex.「 商品名, 購入数,金額, 商品名, 購入数,金額 ・・・」というようなデータの場合)
タイプの準備
下図のようなデータがあったとします↓
今まで僕は「日付,会社名,商品名1,品番1,単価1,購入数1,金額1 ,商品名2,品番2,単価2,購入数2,金額2・・・」と変数を作っていました💦
これだとデータが増えてくるとその都度変数が増えるので大変ですよね💦
どうせなら「 日付,会社名,商品名,品番,単価,購入数,金額 」で納め、部分的にループさせたいところですよね!
先に言っときます。これ
できました!
まずは下記のタイプと変数を用意します↓
・抽出項目(タイプ): 日付、会社名、商品名、品番、単価、購入数、金額 (変数、Short text)
それではステップを組んでいきましょう(^^)/
ポイントは「URLで読み込む」
普段は「ファイル読込」で開いてたかと思いますが、ここを変えることで道が開けました!
①「ページ読込」ステップを入れる
(「CSV」が「HTMLに変換」になっているか確認してください)
②「タグ繰り返し」ステップを入れる
ループをさせたい箇所を囲みます。
「 アクション 」の「最初のタグ番号」にて、ループ開始位置を設定(ここでは「商品名」からループさせたいので「3」を設定)
ここが重要1⃣
「タグ名」には「名前付き」を選択し、「列ループ(任意)」を付けます。
③各項目を抽出する
各項目の「ファインダー」を設定していきます。
【1つ目の設定】
ここが重要2⃣
「ファインダー」の「検索範囲」にて、「名前付きタグ」を選択し、先ほど設定した「列ループ」を選択します。これにより、タグ繰り返し処理で設定した範囲を指定します。
【2つ目以降の設定】
ここが重要3⃣
「ファインダー」の「検索範囲」にて、「名前付きタグの後ろ」を選択し、先ほど設定した「列ループ」を選択します。 これにより「タグ繰り返し」ステップで設定した箇所を基準とし、その基準の後ろを範囲に指定する設定にになります。
「タグパス」は「.*.th」にします( デフォルトだと 「 .*.th [(番号)]」となっており、そこしかとってこない設定になってます)
ここが重要4⃣
次の項目を抽出し、【2つ目以降の設定】の時と同じようにファインダーを設定していきます。
抽出項目が増えるごとにファインダーの「検索範囲」・「タグパス」・「タグ番号」を設定し、用意した変数分値を格納していきます。
設定はこれで終わりなので、最後にちゃんと値が取れているか確認のために「値返却」で確認してみましょう!
で、できてる!
やりました!これで変数多く組まずに、かつCSVファイルのデータループもできますね!!!
ぜひ、参考にしてみてくださいね(^O^)/
最後に
いかがでしたか?
CSVファイルは「ファイル読込」で開かないといけないと思っていたので、僕は正直目からウロコでした( ;∀;)
HTML形式にすることでタグが付き、ループできるということで、これからどんどん使っていけそうです!
他にも「こんな方法もあるよ!」や「私ならこうしるかな!」等ありましたら、ドンドンコメントくださいね!
ではでは、初めてBizRobo!を触る方が楽しくロボットを作れるよう、そしてBizRobo!を好きになってくれるようなサイトにしていきますので、これからもどうぞよろしくお願いいたします(*ノωノ)
目指せ!
今日からBizRober!
(∩´∀`)∩
コメント
URLで読みこむとHTML構造で表示されると初めて知りました!
これは凄いです!
感動しました!!!
いつも役に立つ情報、ありがとうございます!
スノピアさん
コメントありがとうございます!
僕も教えていただいて初めて知りました
すごい便利ですよね!
>いつも役に立つ情報、ありがとうございます!
とんでもございません!これからも開発のお役にたてるような情報発信していきたいと思いますので、今後ともどうぞよろしくお願いいたしますm(__)m