データテーブルを指定行ずつ分ける方法

UiPath初心者です。

社内ネットワークへのcsvアップロードによる検索→ 結果をcsvダウンロード を作成希望です。

大元になるデータテーブルの行数は、可変となっております。
システム上、アップロードの最大件数が1000件の為、
大元のデータテーブルより、アップロードcsvファイルにする際、
複数に分ける必要があるのですが、どのように作れば良いのか分かりません。
また、作ったファイル数がいくつになるのか分からない状況で
どのようにファイル名指定でアップロード検索→ 検索データをcsv名前を付けてダウンロード していくのかもわからない状態です。
最終csvダウンロードデータは、全て結合させ、データテーブルにすることを希望しております。

どのように進めたら良いのか、教えて頂きたくよろしくお願いいたします。

1 Like

最終csvダウンロードデータは、最初にCSVに出力してしまえば、分割後のファイルは無視できますね。

さて、大元になるデータテーブルから、列情報などを引き継いだ1000件格納当中間ファイルを作成しましょう!(大元となる→大元、1000件格納中間→中間と記述)

代入アクティビティ
左辺:中間
右辺:大元.Clone ←これをやると、列情報が中間に設定される

For Each Rowの中で。。。
メソッドを呼び出し
中間.ImportRow コレクションは、大元.Rows(ix)

1000件ImportRowしたら、中間からCSVを出力します。
更に中間のデータ行をクリアします。

メソッドを呼び出し
中間.Clear

これの繰り返しで、細かく分割してCSV化できますね。
無論、出力するCSVファイル名には、出力数を記述しないと、上書きしちゃいますので、注意です。

1 Like

お疲れ様です。
ご回答ありがとうございます。

For Each Row以下が分かりませんでした。。
もう少し詳しく教えて頂けますか。
お手間を取らせてしまい申し訳ございません。

データテーブルを指定行ずつ分ける方法.zip (36.9 キロバイト)

サンプルロボを作成してみました。

サンプルまで作成して頂きありがとうございます。
さっそくチャレンジします!!

1 Like

すみません。
質問させてください。

ここの1234という数字は
サンプルは1233のアイテムがありましたが、
可変のものを作りたいです。
このような場合どのように書けば良いでしょうか。

あい、ここはテストデータテーブルを作るところなので無視してください^_^

これで作った列に数字を振るのかと思ってました。
最初の「大元 作成」の部分は全部ですか?

全部です(^^♪

そこの部分が、1000行以上のデータテーブルが読み込まれる部分となります

ありがとうございます!
では、代入 中間出力数=0 からチャレンジします!
ありがとうございます。

1 Like

うまく行ったら、解決策にチェックをお願いしますね。

因みにこの方法は、とあるコミュニティに登壇、発表したものでした(^^)v

ものすごい資料じゃないですか!
ありがとうございます!
子供の用事で今日は早く帰らないと。。なので明日続きをさせて頂きます。
報告します!
ありがとうございました!

1 Like

急に寒くなりましたね。風邪など召さぬよう。。。

こんにちは

対象の行数にもよりますが、For Each Rowで一行ずつ回すよりも、まとめて処理した方がパフォーマンスは良いように思えます。
以下Takeメソッド、Skipメソッドを使った例です。

Sample20201214-2.zip (2.8 KB)

2 Likes

おはようございます。
まとめて処理の方法があるのですね☆彡
サンプルまで作って頂き、本当にありがとうございます。
本日県外外出の為、明日朝からチャレンジさせて頂きます。
とり急ぎ、お礼申し上げます。

1 Like