UiPath

【UiPath】データテーブルの読み込み、出力、検索、書き込み、削除

UiPath Studioの開発では、データテーブルの操作を行うことが多いです。

しかし、データテーブルの操作は直観的に分かりづらく、どのようにアクティビティを使用すればよいか分からないケースがあります。

この記事では、データテーブルの読み込み、出力、検索、書き込み、削除方法について、解説します。

 

データテーブルの読み込み

データテーブルを読み込み方法は、主に以下の3パターンです。

  1. ワークフロー上で作成して読み込み
  2. CSV読み込み
  3. エクセルファイルの読み込み
ラッコくん
ラッコくん
順番に説明していきますが、「①ワークフロー上で作成」は、あまり使用しないので、参考程度として読み飛ばしOKです。

 

ワークフロー上でデータテーブルを読み込み

ワークフロー上で作成したデータテーブルを読み込むのは、「データ テーブルを構築 (Build Data Table)」アクティビティを使用します。

「データ テーブルを構築 (Build Data Table)」は、プログラミング>データテーブル にあります。

データ テーブルを構築の設定項目

設定場所 設定項目 設定内容
アクティビティの本体
データテーブル 作成する表をカスタマイズすることができます。
[プロパティ] パネル内 共通 表示名 デザイナー パネルに表示されるアクティビティの名前です。
出力 データテーブル [データ テーブルを構築] ウィンドウに追加された情報を格納する DataTable 変数です。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。

 

サンプルプロセス
ワークフロー上でテーブルデータを設定しデータテーブルとして出力、そのデータテーブルをテキストとしてログに出力する。

・「データテーブルを構築」アクティビティの「データテーブル」をクリックした画面

※列名と列名の型は、ヘッダーの右下にある鉛筆マークで編集できます。

・「データテーブルを構築」のプロパティ

・「データテーブルを出力」のプロパティ

ペンギンさん
ペンギンさん
「データテーブルを出力」は、データテーブルをテキストへ変換するアクティビティです。

・変数

・プロセス実行結果のログ

CSVファイルを読み込み

CSVファイルをデータテーブルへ読み込むのは、「CSV を読み込み (Read CSV)」アクティビティを使用します。

「CSV を読み込み (Read CSV)」は、アプリの連携>CSV にあります。

CSV を読み込みの設定項目

設定場所 設定項目 設定内容
アクティビティの本体
読み込み元ファイル CSV ファイルの完全なパスです。
出力先 CSV ファイルから取得した情報を格納する出力の DataTable を表します。
先頭行をヘッダとする CSV ファイルの最初の行をヘッダー行とみなす必要があるかどうかを指定します。
[プロパティ] パネル内 共通 表示名 デザイナー パネルに表示されるアクティビティの名前です。
ファイル ファイル パス CSV ファイルの完全なパスです。
出力 データテーブル CSV ファイルから取得した情報を格納する出力の DataTable を表します。
オプション 区切り文字 CSV ファイルの区切り文字を指定します。タブ、コンマ (,)、セミコロン (;)、キャレット (^)、またはパイプ (|) を指定できます。
エンコード 使用するエンコードの種類です。各文字エンコードのコードの完全な一覧は、こちらにあります。
先頭行をヘッダーとする CSV ファイルの最初の行をヘッダー行とみなす必要があるかどうかを指定します。
引用符を無視 ファイル読み取り時に引用符を無視するかどうかを指定します。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。

サンプルプロセス
CSVファイルを読み込みでデータテーブルに出力し、そのデータテーブルをログへ出力する。

・CSVを読み込みのプロパティ

ラッコくん
ラッコくん
文字コードがSJISのファイルを読み込むので、エンコードを「”shift_jis”」としているよ。他のエンコードは文字エンコードのサポート を参照してね。

・データテーブルを出力のプロパティ

・変数

・読み込み対象のCSVファイル

・プロセス実行結果のログ

 

Excelファイルを読み込み

Excelファイルをデータテーブルへ読み込むのは、「範囲を読み込み」アクティビティを使用します。

「範囲を読み込み」は、アプリの連携>Excel にあります。

範囲を読み込みの設定項目

設定場所 設定項目 設定内容
アクティビティの本体
シート名 読み取る範囲のあるシートの名前です。
範囲 読み取る範囲です。
[プロパティ] パネル内 共通 表示名 デザイナー パネルに表示されるアクティビティの名前です。
入力 シート名 読み取る範囲のあるシートの名前です。
範囲 読み取る範囲です。
オプション ヘッダーの追加 オンの場合は、指定した範囲に列見出しも書き込まれます。
表示形式を維持 このチェック ボックスをオンにすると、読み込む範囲の書式が維持されます。
フィルターの使用 オンの場合は、アクティビティは指定された範囲から除外されたものを読み取りません。
出力 データテーブル 指定した Excel の範囲から抽出したデータを DataTable 変数に格納します。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。

 

サンプルプロセス
Excelファイルを読み込みでデータテーブルに出力し、そのデータテーブルをログへ出力する。

・Excelアプリケーションスコープのプロパティ

・範囲を読み込みのプロパティ

・データテーブルを出力

・変数

・読み込む対象のExcelファイル

・プロセス実行結果のログ

データテーブル出力

テキスト出力

データテーブルをまとめてテキスト出力するのは、「データ テーブルを出力」アクティビティを使用します。

「データ テーブルを出力」は、プログラミング>データテーブル にあります。

データ テーブルを出力の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 共通 表示名 デザイナー パネルに表示されるアクティビティの名前です。
入力 データテーブル 文字列に書き込む DataTable オブジェクトです。
出力 テキスト DataTable の出力 (文字列) です。
その他 プライベート 選択すると、アクティビティで使用したデータが Studio のログに記録されなくなります。

 

サンプルプロセス
データテーブルをテキストデータへ変換して、ログ出力する。

・CSVを読み込みのプロパティ

・データテーブルを出力

・読み込み対象のCSVファイル

・プロセス実行結果のログ

ラッコくん
ラッコくん
「データ テーブルを出力」は主にデバッグやログ出力に使用するよ

 

データテーブルの行と列を指定して出力

データテーブルの行と列を指定して出力は、データテーブル変数の後ろに(行番号)(列番号 or 列名)をつけます。

行番号と列番号は、0から始まるので、1行目のインデックスは0、2行目はインデックス1になります。

 

サンプルプロセス
データテーブルの行番号と列番号 or 列名で指定して、ログへデータを出力する。

・CSVを読み込みのプロパティ

・変数

・読み込み対象のCSVファイル

・プロセス実行結果のログ

行ごとに出力

データテーブルを行ごとに出力は、繰り返し (各行) (For Each Row)を使用して、行データの後に(列番号 or 列名)を指定します。

アクティビティは、ワークフロー>制御 にあります。

繰り返し (各行) の設定項目

設定場所 設定項目 設定内容
アクティビティの本体
繰り返し 現在の反復処理を参照するときに使用する名前を入力します。既定値は rowです。
次のコレクションの各要素 各行について 1 回ずつアクションを実行する対象の DataTable 変数です。
[プロパティ] パネル内 その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
入力 データテーブル 各行について 1 回ずつアクションを実行する対象の DataTable 変数です。
共通 表示名 アクティビティの表示名です。
出力 現在のインデックス 現在のコレクションにある要素のうち、繰り返し処理する要素を指定するインデックスです。

 

サンプルプロセス
データテーブルを行ごとに取り出し、列番号か列名を指定してログへ出力する。

・CSVを読み込みのプロパティ

・変数

・読み込み対象のCSVファイル

・プロセス実行結果のログ

 

データテーブルの検索

データテーブルを検索して、指定列データやインデックス番号を出力

データ テーブル内のデータを検索して、一致する行のデータやインデックスを出力するのは、「データ テーブルを検索 (Lookup Data Table)」を使用します。

「データ テーブルを検索 (Lookup Data Table)」は、プログラミング>データテーブル にあります。

データ テーブルを検索の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
入力 データテーブル 検索を実行する場合の DataTable 変数です。
ルックアップ値 指定した DataTable 変数の中で検索する値です。
ターゲット列 ここに DataColumn 変数を指定すると、この列から RowIndex プロパティの値までの座標内で見つかったセルの値を返します。
列インデックス ここに Column インデックスを指定すると、この列から RowIndex プロパティの値までの座標内で見つかったセルの値を返します。
列名 ここに Column 名を指定すると、この列から RowIndex プロパティの値までの座標内で見つかったセルの値を返します。
共通 表示名 アクティビティの表示名です。
出力 セル値 RowIndex で指定した Row 座標と Target Column プロパティカテゴリで指定した Column 座標を持つセルで見つかった値です。
行インデックス 見つかったセルの Row インデックスです。
検索列 検索する列が含まれている変数です。
列インデックス 検索する列のインデックスです。
列名 検索する列の名前です。

※ターゲット列と検索列で指定できる項目は、それぞれ一つのみです。

 

サンプルプロセス
データテーブルを検索して、指定した列名のデータとインデックス番号をログへ出力する。

・範囲を読み込みのプロパティ

・データテーブルを検索 点数のプロパティ

ペンギンさん
ペンギンさん
  • ターゲット列の列名で、出力する列名を指定しています。
  • 入力のデータテーブルで、検索対象のデータテーブルを指定しています。
  • 入力のルックアップ値で、検索する文字列を指定しています。
  • 出力のセル値は、Object 型が出力されます。
  • 出力の行インデックスは、int型が出力されます。
  • 検索列の列名で、検索対象の列名を指定しています。

 

・変数

・読み込み対象のエクセルファイル

・プロセス実行結果のログ

データテーブルの更新

データテーブルへ行を追加

データテーブルに行を追加するのは、「データ行を追加 (Add Data Row)」アクティビティを使用します。

「データ行を追加 (Add Data Row)」は、プログラミング>データテーブル にあります。

繰り返し (各行) の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
共通 表示名 アクティビティの表示名です。
入力 データテーブル 行の追加先となる DataTable オブジェクトです。
列配列 DataTable に追加するオブジェクトの配列です。
DataTable に追加する DataRow オブジェクトです。このプロパティを設定した場合は、列配列 プロパティは無視されます。

サンプルプロセス
データテーブルへ行データと配列を追加して、データテーブルをテキストデータとして出力する。

・CSVを読み込みのプロパティ

・rowTest追加 データ行を追加のプロパティ

・配列追加 データ行を追加のプロパティ

・データ テーブルを出力のプロパティ

・読み込み対象のCSVファイル

・プロセスの実行結果

 

データテーブルから特定行を削除

データテーブルから特定行を削除するのは、「データ行を削除 (Remove Data Row)」を使用します。

「データ行を削除 (Remove Data Row)」は、プログラミング>データテーブル にあります。

データ行を削除の設定項目

設定場所 設定項目 設定内容
[プロパティ] パネル内 その他 プライベート オンにした場合、変数および引数の値が Verbose レベルでログに出力されなくなります。
入力 データテーブル 行を削除する DataTable オブジェクトです。
削除する DataRow オブジェクトです。
行インデックス 削除する行のインデックスです。
共通 表示名 アクティビティの表示名です。

 

サンプルプロセス1
インデックス番号を指定して、データテーブルの特定行を削除する。

・CSVを読み込み

・データ行を削除

・データテーブルを出力

・読み込み対象のCSVファイル

・プロセス実行結果のログ

 

サンプルプロセス2
行データを指定して、データテーブルの特定行を削除する。

・CSVを読み込みのプロパティ

・データ行を削除のプロパティ

・データテーブルを出力

・読み込み対象のファイル

・プロセス実行結果のログ

 

データテーブルの指定データの修正

データテーブルへ指定データを書き込みするのは、データテーブル(行番号)(列番号 or 列名)へ修正後のデータを代入します。

サンプルプロセス

・CSVを読み込みのプロパティ

・データテーブルを出力のプロパティ

・読み込み対象のCSVファイル

・プロセス実行結果のログ

まとめ

  • データテーブルの読み込みは、「CSV を読み込み (Read CSV)」、「範囲を読み込み」を使用する。
  • データテーブル出力は、「データ テーブルを出力」、データテーブル変数の後ろに(行番号)(列番号 or 列名)、繰り返し (各行) (For Each Row)を使用して行データの後に(列番号 or 列名)を利用する。
  • データテーブルの検索は、「データ テーブルを検索 (Lookup Data Table)」を使用する。
  • データテーブルへ行を追加は、「データ行を追加 (Add Data Row)」を使用する。
  • データテーブルから特定行を削除するのは、「データ行を削除」を使用する。
  • データテーブルへ指定データを書き込みするのは、データテーブル(行番号)(列番号 or 列名)へ修正後のデータを代入する。

 

 

最後に関連記事を紹介します。

↓おすすめのExcel操作方法、Excelアクティビティ一覧、よく使用するExcelの読み込み、書き込みなどのアクティビティについて、解説した記事です。

【UiPath】Excelの読み込み、書き込みの操作UiPath Studioの開発では、Excelの操作を行うことが多いです。 しかし、Excelの操作アクティビティは多く、またク...

https://penrako.com/uipathexcel/(別ウインドウ)

 

↓繰り返し処理を行うアクティビティの適切な使い方について、説明した記事です。

https://penrako.com/uiparhloop/

https://penrako.com/uiparhloop/(別ウインドウ)

 

↓UiPath Studioのプロセス作成方法、アクティビティの使い方、開発時のチップスを網羅的に説明した記事です。

【UiPath】プロセス作成方法やアクティビティの使い方のまとめ記事UiPath Studioでのプロセス作成方法やアクティビティの使い方を体系的に学びたい方向けに、UiPath Studioのプロセス作成方法、アクティビティの使い方、開発時のチップスを分かりやすく説明します。...

https://penrako.com/uipathstudiosummary/(別ウインドウ)