UiPathのDataTableについておさらいしてみた

 こんにちは、システムズエンジニアリングセンターの湯田です。
今回は自身の体験をもとに、RPA 初心者にとって壁になった部分を解説していきたいと思います。
DataTable という言葉見て嫌な顔をしたそこのあなた、ぜひ最後まで読んでいってください笑

 RPA 主業務の1つに Excel データの処理があります。
よくあるケースとして、Excel ファイルにある大量のデータから特定の情報を抽出し、別の Excel ファイルに出力することが挙げられます。私はRPAツールUiPath を使用した業務自動化案件に携わっておりExcel ファイルの処理は基本的に、DataTable という型のデータを扱います。

 DataTabel についてですが、プログラミング経験者にとっては特に問題なく理解できるそうですが、私をはじめ未経験者は避けては通れない壁です笑 後ほど登場しますが、「For Each Row」の仕組みを理解するにはなかなかに苦戦しました笑

前置きはこの辺にしまして、本題に入りますね。

DataTableとは

 ざっくりいうと、表形式のデータです。Excel シートとほぼ同じと考えて大丈夫です。 違うと点としては、行の数え方が 1 からではなく、0 から始まるところです。プログラムの世界だとよくあることですね笑

 

 

DataTableとForEachRow

 簡単なサンプルを 1 つ。内容は先ほどの表の名前をメッセージボックスで出すものです。

                                                                                                            

※input_DataTable には先ほど例で挙げた表が入っています。
※rowは 今回用いる変数の名前です。
 実行結果としては、下記画像が左から順に出力されます

 

 

 お恥ずかしい話ですが、RPA はじめたての私は「いきなり row が出てきたぞ!何をしているんだ?!」と思ってましたね笑

では、row で何をしているか見ていきます。

 row は上図のとおり、input_DataTable の表を 1 行ずつにしたものになります。ですので、ForEachRow では 1 行ごとに処理していることになります。少し細かい話をすると、表を1行ずつに分けた際、データの型が DataTable から DataRow へ変わります。なので、row は DataRow という型になっています。(表が1行だけになった場合は DataRow になる程度の認識で大丈夫です。)

 また、「row.item(“列名”)」で特定列の要素を取れます。なので、今回のコードで「row.item(“名前”)」で名前が取れるわけです!そして、メッセージボックスで名前が表示されます。
(ToString()についての説明は割愛します)

 

おわりに

 今回は DataTable について説明しました。冒頭でも言いましたが、私はこれらを理解するのに時間がかかりました……ただ、DataTable は必ず業務で使うので、押さえておかなければいけない部分です。
初心者の方が DataTable で悩んだ際に少しでも助けになる記事になっていれば幸いです。

今回のまとめ

DataTabel……表形式のデータである。
ForEachRow……表形式のデータを 1 行ごとに分けて処理する。

以上になります。最後まで読んでいただきありがとうございました。

  • このエントリーをはてなブックマークに追加

クレスコのRPAセミナー

クレスコではAIやRPAをテーマとした技術セミナーを定期的に開催しています。現役エンジニアが実践的なノウハウを提供します。ぜひご活用ください。

◆受講者の声
[無料セミナー]RPA導入ファーストステップ
「UiPathのデモ、各ツールの比較が分かりやすく有益と感じた。」
「RPA導入で種々の問題点があるので、”つまずき”の部分が参考になった。」

[オーダー研修]RPA/UiPathハンズオン
「今まで迷ったところや分からなかったところがすべて判明した爽快感がありました。もっと早く受けたかったです。」
「RPA導入新任者向け研修として最適。今後、当社のRPA開発者向け研修として活用させていただく事を検討します。」


クレスコのRPAセミナーを詳しく見る