UiPath データテーブル(DataTable)についての説明と関連記事一覧

2022年1月30日

DataTableはUiPathでルーチンワークを自動化する際、

変数の型として多用する重要な要素です。

この記事ではDataTableの仕組みやデータの取得方法について解説し、

関連するアクティビティの記事へのリンクを記載します。

DataTable(データテーブル)とは

データテーブル(System.Data.DataTable)は

UiPathで表形式のデータを取り扱う変数のデータ型です。

Excel、CSV(TSVも可)、ブラウザを横断して表形式を取り扱います。

データテーブルによる読み取り・書き込みの概要
データテーブルによる読み取り・書き込みの概要

構造(データの持ち方)

Excelのテーブルに近い構造です。

情報システムのデータベース(MySQLなど)やAccessを利用する方には

データベースのテーブルと考えるとイメージしやすいです。

(一意制約やNULL制約を設定可能です)

DataTableはヘッダー、列(Column)と行(Row)で構成されます。

DataTableの構造
DataTableの構造

列(Columnの配列)と行(Rowの配列)はデータの位置を指し、

ヘッダーは列名やデータ型、制約などの列定義です。

(列定義の詳細は「データテーブルを構築」に記載)

Excel 範囲を読み込み」、「CSVを読み込み」、

データテーブルを生成」ではヘッダーなしで扱う場合もあります。

データの取得方法

一つのセルを取得

代入」などで一つのセルのデータを取得する場合は以下のようにします。

赤字の部分は可変箇所です。

データテーブル変数.rows(行番号).Item(列番号)

以下の構文では1行目(行番号0)の2列目(列番号1)の「さんま」を取得します。

Object型で取得されるので適宜、データ型変換が必要です。

行番号と列番号で取得
行番号と列番号で取得

ヘッダーがある場合は、列番号でなく列名でも取得可能です。

データテーブル変数.rows(行番号).Item("列名")
行番号と列名で取得
行番号と列名で取得

全行を取得

繰り返し(各行)」を使用します。(詳細な手順はリンク先)

データの更新方法

データ列を追加」、「データ列を削除」、「データ行を追加」、

データ行を削除」を利用します。

取得のように「代入」など利用して行と列を指定して更新することも可能です。

以下の構文では1行目(行番号0)の2列目(列番号1)の名称を「ほたて」に更新します。

データテーブル変数.rows(行番号).Item(列番号)
行番号と列番号で更新
行番号と列番号で更新

ヘッダーがある場合は、列番号でなく列名でも更新可能です。

データテーブル変数.rows(行番号).Item("列名")
行番号と列名で更新
行番号と列名で更新

アクティビティ一覧

大別すると値をセットするもの(ファイルやWebから情報を取得)、

内容を取得するもの、編集するもの、書き出すものに分けられます。

基本的には、セット→取得または編集→書き出す。の順番で利用することになるでしょう。

データテーブル変数に値をセット

名称概要
データテーブルを構築列定義と格納データを指定してデータテーブルを作成します。
一意制約など詳細な列定義が可能です。
データテーブルを生成文字列(String型)を元にデータテーブルを作成します。
Excel 範囲を読み込みExcelのファイルとセル範囲を指定してデータテーブルを作成します。
Excel 範囲に書き込み」の対になる機能です。
(クラシック設定)
CSVを読み込みカンマ区切りやタブ区切りのファイルを指定してデータテーブルを作成します。
CSVに書き込み」の対になる機能です。
データスクレイピング
(構造化データを抽出)
Webブラウザの表(Tableタグ)からデータテーブルを作成します。

データテーブル変数の内容を取得

名称概要
繰り返し(各行)データテーブルの全行をループします。
行項目を取得データテーブルの1行(DataRow型の変数)から
指定列(列番号か列名指定)を取得します。
繰り返し(各行)」の中で使用します。
データテーブルを検索条件を指定してデータテーブルの内容を検索します。
結果は指定列(列番号か列名指定)の値と行数で受け取ります。
データテーブルを出力データテーブルの内容をCSVの形式でString型変数に書き出します。

データテーブル変数を編集

名称概要
データテーブルをフィルタリング条件を指定して行や列をフィルタリングします。
データテーブルをマージ二つのデータテーブルを縦に併合します。
データテーブルのUNION ALLと同様です。
データテーブルを結合同じ行と見なす条件を指定し二つのデータテーブルを横に結合します。
データベースのJOINと同様です。
データ列を追加データテーブルに新規列を追加します。
一意制約など詳細な列定義が可能です。
データ列を削除データテーブルから指定列(列番号か列名指定)を削除します。
データ行を追加DataRow型変数やArray of [Object]型変数を
データテーブルの末尾に追加します。
データ行を削除データテーブルから指定行(行番号指定)を削除します。
データテーブルを並び替えデータテーブルの指定列(列番号か列名指定)の
昇順または降順で並び替えます。
データテーブルをクリアデータテーブルの内容を空にします。
列名など列定義の情報は残ります。
重複行を削除データテーブル内で全列の内容が同じ行を1行にまとめます。

データテーブル変数をファイルに書き込む

名称概要
Excel(クラシック) 範囲に書き込みExcelのファイルとセル範囲を指定してデータテーブル内容を書き込みます。
Excel(クラシック) 範囲を読み込み」の対になる機能です。
(クラシック設定)
Excel(モダン)データ テーブルを Excel に書き込みExcelのファイルとセル範囲を指定してデータテーブル内容を書き込みます。
「Excel(モダン) 範囲を読み込み」の対になる機能です。
(モダン設定)
Excel 範囲を追加Excelのファイルとセル範囲を指定してデータテーブル内容を追記します。
CSVに書き込みファイルを指定してデータテーブル内容を書き込みます。
TSVなど他の形式も可能です。
CSVを読み込み」の対になる機能です。
CSVに追加ファイルを指定してデータテーブル内容を追記します。
TSVなど他の形式も可能です。

関連記事

UiPath テーマ別の記事一覧