Skip to content

【UiPath】データテーブルの基本を理解する

Posted in ノート

Last updated on 2021年12月30日

どうも、エピックです。
UiPathで自動化をしているとぶち当たるデータテーブル。馴染みのない方からしたら厄介そのものです。
このデータテーブルですが、Excelのような表形式のデータを用いる際に利用され、使いなれると非常に自動化がはかどります。
今回はこのDataTableについて少し丁寧に扱ってみたいと思います。


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

DataTableですが、データテーブルと読まれデータ型の一つです。

つまり、String型(文字列) Int型(数字)のようにDataTable型というものがあるということですね。

UiPath Studioの変数パネルで見てみましょう。

青くマークされた行が DataTable型 です、ちゃんとありますね。

では、このDataTable型とはどんな形式のデータを格納する型なのでしょうか。

それは、表形式のデータを扱う型になります。

表形式というのは「行と列を持つデータ」であり、イメージとしてはEXCELの表そのものになります。

下記の表は、私が最近読んだ漫画一覧ですが、行と列からなっており表形式のデータということができます。


DataTableを利用する場面

では、どのような場面においてこのデータテーブル型(表形式のデータ)を利用するのでしょうか。

これには大きく3つの自動化のケースがあり、次のようになります。

  • Excelデータを使った自動化を行う場合
  • CSVデータを使った自動化を行う場合
  • Web上のテーブルデータを使った自動化を行う場合
    (データスクレイピングを行う場合)

これらの関連アクティビティのプロパティパネルには、入力・出力にデータテーブル型の変数を指定するようになっています。

次は[CSVを読み込み]アクティビティの例になります。

出力がデータテーブル型になっていますね。


DataTableとして取り込む

では実際に先ほど説明した3つのケース(CSVの活用/ Excelの活用/ データスクレイピング)について、データテーブルとしてデータを取り込む方法を説明します。

取り込む場合ですが、ケース毎に利用するアクティビティが異なります。

  • Excel → [範囲を読み込み]アクティビティ
  • CSV → [CSVを読み込み]アクティビティ
  • Web上のテーブルデータ → データスクレイピング

ここでは自動化で頻繁に利用するExcelを例に説明をしたいと思います。

まず利用するデータですが上の ”私が最近読んだ漫画一覧” をExcelとして準備しました。

Excelデータなので[範囲を読み込み]アクティビティを利用します。

Excelの利用なので[Excelアプリケーションスコープ]アクティビティも忘れないようにします。

ここで[範囲を読み込み]アクティビティについてですが、このプロパティパネルを確認するとオプションとして[ヘッダーの追加]というものがあります。

これは “読み込みの際に最初の行をヘッダーとして読み込むか” を設定するオプションであり、今回のように最初の行がヘッダーとして始まっている場合はチェックする必要があります。

チェックすることにより最初の行はデータではなくヘッダーとして扱われます。

これにより上のようなExcelデータは下記のようなDataTable型として保持されることとなります。

番号を振っていますが、これはそのデータにアクセスするためのキーです。

列・行ともに、1ではなく0から値がはじまることに注意してください。

Excelでいえば “A11” や “C4” のように各セルを特定しますがそれと同じです。

例えば、”漫画のタイトル” の列のうち “Helck” について特定するのであれば、行(2)の列(0)がそのキーになります。

また、今回の場合はヘッダーを利用しているので 列”漫画タイトル”の行(2) という言い方もできます。


実際にDataTableから値を取り出してみる

さきほどまででExcelデータをDataTableとして保持することができたので、実際に取り出すことをしてみたいと思います。

さきほどのExcelデータは “データテーブル” と命名した変数(DataTable型)に格納しています。

値が取り出せてことをすぐに確認するため[メッセージボックス]アクティビティを利用しポップアップ表示させてみます。

では、私のイチオシ漫画である “Helck” について取り出してみます。

データテーブル.Rows(2).Item(0).ToString

取り出せましたね。

また次のような書き方でも取り出すことができます。

これはヘッダー名を利用した書き方になります。

データテーブル.Rows(2).Item("漫画タイトル").ToString

こちらも問題なく取り出せました。

整理しますと、データテーブル内のデータは下記のような式を利用して取り出すことができます。

上記の式をもとに実際にDataTableからの値の取得を試して見てください。


最後に


DataTableって難しいですよね。
ただ自動化において頻繁に利用するので少しずつ理解を深めていってみてください。今回は基本的な使い方でしたがよくある利用の仕方としては、DataTable内のデータの繰り返し処理です。こちらについてはまた別の記事でまとめて見たいと思います。

今回も最後までお読みいただきありがとうございました。

ご質問等はコメントにていただければと思います。

では。

Be First to Comment

コメントを残す

メールアドレスが公開されることはありません。