データテーブルの項目毎データ型について

項目にタイムスタンプを含むCSVファイルを
READ CSVを用いてデータテーブルを取り込み、
DataTable.selectを用いて
タイムスタンプでフィルタをかけようとした際、
想定していないデータまでフィルタされてしまいました。

例:フィルタ条件「タイムスタンプが2019/10/20 6:00:00以降」
select構文「DataTable.select(String.Format(“タイムスタンプ>#{0}#”,Date.Parse(“2019/10/20 06:00:00”)))」

ネットで調べるとExcelからRead Rangeを用いてデータテーブルを
取り込めばうまくいくと書いてあった為、
試しに実行してみたらうまくいったのですがどうにも腑に落ちません。

疑問点
①Read CSVで取り込んだデータテーブル項目は全て文字列型で取られている?Read Range(Excel)の場合はGeneric Value型?
②①と仮定した場合、CSVから取り込んだデータテーブルの各項目の型を
UiPath側で変更することは可能か?

どなたかご教授お願い致します。

2 Likes

こんにちは

Read CSVで取り込んだデータテーブル項目は全て文字列型で取られている?

Yes

Read Range(Excel)の場合はGeneric Value型?

Object型です。内部的に型情報を保持しています。

CSVから取り込んだデータテーブルの各項目の型をUiPath側で変更することは可能か?

LINQ使って処理すれば実現できるケースも多いと思います。
あるいは個別に一つずつ変換しても良いかもしれません。

1 Like

前に、数値でフィルタが出来ない!って時に、
「繰り返し(行単位)」アクティビティで、対象とする列をわざわざ型変換(CINT)させた事があります。ですので、この要領で日付と思われる列の全行を型変換するのも一興かと。。。

1 Like

回答ありがとうございました。
データテーブルの変換については一工夫必要そうですね。
試してみます。

回答ありがとうございました。
繰り返し処理で実行するのが1番わかりやすい気もします。
データがそれほど多くないものであればそちらの手法でも問題なさそうです。

1 Like

おぉ!それはよかった!

解決の糸口になった回答の「解決策」にチェックお願いしますね。

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.