Robo1号のデータ処理の悩み

博士!!ListやDataTableにデータが入っているんだけど、ここからのデータ取り出しがよくわからないんだ( ゚Д゚)どうしたらいいの?

ほうほう、エクセルからデータを取り出したりするとDataTable変数にデータが入ることもあるね。そのほかのアクションでもList・DataTable変数などに複数のデータが入っていることがよくあるよね。このデータからの取り出しが分かりにくいんだね?

そうなんだ、そもそも、List・DataTableからどうやってデータを取り出すの?

まずは、このList・DataTableがどんな変数がどんな内容か理解できているかな?

おおよそは、わかってるよ。複数のデータの集合だってことくらいかな?

ある程度理解できるようだね。データの取り出し方法を理解してもらうためにも、このList・DataTable変数がどんなものかからもうすこし説明していくね。

では、このList・DataTableは配列と呼ばれる変数なんだよ。
配列とは、複数のデータを連続的に並べたデータ構造を示すものを示すんだ。
配列の並びによって、List・DataTableに分けられるんだよ。
変数のデータ構造と、データの指定方法を説明しよう!
インデックス
List・DataTable変数には、変数名[0]や変数名[0][0]など、変数の後ろに[数字]が付けられています。これをインデックス(日本語では添字)といいます。インデックスは、複数のデータを持つList・DataTable変数の中からデータを特定するために付属している番号となります。データを入れるときや、取り出すときは、このインデックスを指定します。
List型変数からのデータの取り出し
データを表形式で表したときに。縦に並んでいるデータ構造をListといいます。
この変数名が%fluit%であるとします。
リンゴを指定する場合は、インデックスを付与して%fluit[1]%と記述することになります。

DataTable型変数からのデータの取り出し
データを表形式で表したときに。データが縦横に並んでいるデータ構造をDataTableといいます。
この変数名が%syouhin%であるとします。
DataTableでは、インデックスを%syouhin[行番号][列番号]%と指定することになります。
ぶどうの単価を指定する場合、%syouhin[2][1]%を記述することになります。
列名でも指定することもでき、%syouhin[2][‘単価’]%と記述することもできます。

列名で示すときは、列名の前後の‘(シングルクォーテーション)を忘れないようにしましょう。
データ以外のプロパティ
List・DataTable型変数にはデータ以外にプロパティで各種データが格納されています。
プロパティには以下のものがあります。
データ型種類 | プロパティおよびデータ内容 |
List(リスト)型 | .Count リストに格納されている項目数 |
DataTable(データーテーブル)型 | .RowsCount データ テーブルの行数の値 .Columns データ テーブルの列の名前を含むリスト .IsEmpty データ テーブルが空かどうかの真偽 .ColumnHeadersRow テーブル ヘッダーを含むデータ行 |
プロパティの値の取り出し方は、%変数名.プロパティ%の指定となります。
つまり、DataTabale変数の行数の値を取り出したい場合、今回の場合だと%syouhin.RowsCount%と記述することでDataTable行数を取得できます。

最後に

博士!!ListやDataTable変数からのデータの値の取り出し方がわかったよ。ありがとう。(^_-)-☆
データだけでなく、行数などのプロパティも取得できることが分かったのは特によかったよ。