7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【UiPath】データテーブルの操作(8)重複行の削除

Posted at

はじめに

この投稿は、RPAツール「UiPath」で Datatable から「重複行の削除」をする方法について、個人的にまとめたものです。

UiPathブログ発信チャレンジ の 23日目の記事です。

「UiPath Friends もくもく会 2022年07月開催 2022-07-23(土)9:00 - 12:00」で書きました。

データテーブルの操作 シリーズ

DataTable の操作方法について記載した記事が、他にもあります。参考まで。

重複の削除方法

DataTable 内で、以下のように「内容が重複している行」があることがあります。

  • パターンA)行単位で重複している(全ての列で内容が同じ)
  • パターンB)列の一部で重複している(一部の列で内容が同じ)

image.png
上記のような重複している行を「削除」する方法は、以下があります。

  • 1)「重複行を削除」アクティビティで、重複を削除
  • 2).NET の「DataView」で重複を削除
  • 3)Linqの「Distinct」で、重複を削除
  • 4)Linqの「GroupBy」で、重複を削除

以下で順に説明します。

1)「重複行を削除」アクティビティで、重複を削除

標準アクティビティにある「重複行を削除」アクティビティを使えば、行単位で重複している行を自動で削除できます
image.png

一部の列だけを対象にしたい場合は、使用できません。
が、多くのケースでは、このアクティビティの使用でOKでしょう。

2).NET の「DataView」で重複を削除

.NETの機能の「DataView」という便利な「検索・編集・並び替え」機能を使用すると「指定列」で重複を取り除いた形に編集できます。
image.png
指定しない列は消えてしまいます。
指定しない列を「残したい」場合は、以下に紹介する方法で実施する必要があります。

3)Linqの「Distinct」で、重複を削除

「行単位」でユニークに(重複を削除)したいなら、Linqの「Distinct」を使うと簡単です。
引数に「DataRowComparer.Default」を使用すると、データテーブルで重複する行を削除できます。
image.png

4)Linqの「GroupBy」で、重複を削除

「指定列」でユニークに(重複を削除)したいなら、LinqのGroupByで集計した結果の1つ目を取得すれば出来ます。
image.png

終わりに

以上、DataTableの重複行の削除方法について、でした。なにかの役に立てば幸いです。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。

7
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
7
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?