はじめまして。
現在データスクレイピングでデータを取得しようとしているのですが、1つのデータが複数行にわたっており、各行繰り返しでの処理が行うことができずにいます。
最終的に2行目から4行目に記述した項目名にし、1行にまとめたいと考えています。
UiPathの素人のためわかりづらい点などあったら申し訳ありません。
ご指導いただければ幸いです。よろしくお願いいたします。
こんにちは
可能であれば
サンプルとなるエクセルシート(ファイルとして)
と
期待する出力(具体的なアウトプットのイメージ)
を共有可能でしょうか?
もとのデータテーブルを3行ずつ読んで1行のRowを作ってまとめ先のデータテーブルに行追加すればいいだけでは?そういうことではないのでしょうか?
Yoichiさん
時間がかかってしまい申し訳ございません。
新規ユーザーのためファイルアップロードが制限されているためスプレッドシートを共有させていただきます。
元データ、スクレイピング時、出力イメージのサンプルをそれぞれシートにまとめています。
minaiさん
データスクレイピングに3行ずつ読んでくれる機能があるのでしょうか。
可能でしたら手順等教えていただけますでしょうか。
こんにちは
やり方はいくつかありますが、例えば以下になります。
dtRersult = dt.AsEnumerable.Where(Function(r) not String.IsNullOrEmpty(r(0).ToString)).GroupBy(Function(r) r(0).ToString).Select(Function(g) dtResult.LoadDataRow(g(0).ItemArray.Concat({g(1).Item(1),g(1).item(2),g(2).item(1)}).ToArray,False)).CopyToDataTable
Sample20230307-6L.zip (16.0 KB)
データはスクレイピング時のコピーを使いましたが、セル結合があるので、何らかの加工が入っているように思えます。本来はデータスクレイピングで取得したデータを上記の式にそのまま流し込めると思います。
LINQの扱いが難しければ、Whileループなどで必要単位で読んでいく方法になると思います。
1 Like
readrangeでdatatableに読み込んでしまえばあとはループ組んで3行ずつ処理するだけだと思います。
データスクレイピングは不要かと。
1 Like
Yoichiさん
参考にさせていただきます。
ご回答ありがとうございます。