CSVファイルで、処理が終わった行に印をつける方法

いつもお世話になっております。

csvファイルから、データテーブル型にデータを抽出したのち、繰り返し(各行)で行ごとに処理を行うワークフローを作成しています。途中でエラーが発生し止まっても、再度実行を押せば、条件分岐で続きから処理が実行されるように、データテーブルの各行で処理が終わった段階で、行に「〇」を付けたいと考えています。

エクセルファイルならば、セルを書き込みで実行できると思いますが、データテーブルにとなると、今のところ方法が思いつきません。

お心当たりある方は是非ご教授ください。

こんにちは

データ列を追加アクティビティというデータテーブルに列を追加するアクティビティがありますので、こちらを使う手があります。ただし事前にこの列が無いことの確認が必要です。また各処理単位でCSV全体を書き戻す必要があります。

要件次第ですが、単に処理上の問題であれば、元のCSVに書き戻すよりは別のファイルで管理した方が良いケースも多いかと思いますので、こちらも検討されてはと思います。(完了した番号を別のテキストファイルに書き出し、実行時に処理済みかを確認する等)

1 Like

お返事ありがとうございました。

列を追加のアクティビティについて調べてみました。
そこで2点質問させてください。

・上記の丸を付ける「繰り返し各行」の外(その前)に「列を追加アクティビティ」を置き、繰り返しの中に「代入」アクティビティを入れて〇を付けるイメージでしょうか?

・>また各処理単位でCSV全体を書き戻す必要があります。
とご回答いただきましたが、「繰り返し(各行)」の中ではなく、トライキャッチでエラーが発生した時点と、「繰り返し」アクティビティの外(その後)に「csvに書きこみ」を置くということは不可能でしょうか。

以上よろしくお願いします。

こんにちは

・上記の丸を付ける「繰り返し各行」の外(その前)に「列を追加アクティビティ」を置き、繰>り返しの中に「代入」アクティビティを入れて〇を付けるイメージでしょうか?

事前に追加列の有無を確認した上で、なければ「列を追加アクティビティ」で追加、ループ内で当該行に値を代入することになります。

・>また各処理単位でCSV全体を書き戻す必要があります。
とご回答いただきましたが、「繰り返し(各行)」の中ではなく、トライキャッチでエラーが発生した時点と、「繰り返し」アクティビティの外(その後)に「csvに書きこみ」を置くということは不可能でしょうか。

ロジック的には不可能ではありません。
懸念される点としては、例外の種類によっては安定的にデータを書き込めなったり、そもそもUiPath自身が不安定になることも想定すると、都度書き込む方が安全です。このあたりのリスクを許容出来るなら例外発生時等の処理終了時に一括書き込みでも良いかもしれません。

1 Like

Yochi様

返信が遅くなり申し訳ありません。

頂いた助言に従って、シナリオを無事完成させることができました。
ありがとうございました。

今後もよろしくお願いします。

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.