3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

【UiPath】データテーブルのデータを維持したまま、各列のデータ型を自動検出で変換する

Posted at

データ テーブルを出力 (Output Data Table) を使いデータテーブルをテキストに変換した後、
テキストからデータ テーブルを生成 (Generate Data Table From Text) を使ってテキストをデータテーブルに戻し、
この際にアクティビティのオプション機能で型を自動検出させる、という流れです。

実装例

範囲を読み込み (Read Range) で取得したデータテーブルは全列Object型で設定されます。
以下はExcelから範囲を読み込み、データテーブルの各列のデータ型とデータ内容を確認するワークフローです。
まずはこちらをご確認ください。

  • ワークフロー
    image.png
  • 読み込むExcel
    image.png
  • 実行結果
    image.png

全列Object型で設定されているのが確認できます。

データ型を変換する

Excelを読み込み、ログに出力した後、
データ テーブルを出力テキストからデータ テーブルを生成 を使いデータ型を変換し、
再度ログに出力します。

  • ワークフロー
    image.png
  • テキストからデータ テーブルを生成 のプロパティ
    image.png
  • 実行結果
    image.png

データを維持したまま、数値はInt32型、文字列はString型、日付はDateTime型に変換できています。
テキストからデータ テーブルを生成 のプロパティは上記の通り、
「列ヘッダーを使用」、「型を自動検出」、「CSV解析」をTrueにし、「列区切り」にカンマを指定してください。

複数のデータ型(文字列と数値とか)が混ざっている列はどうなるの?

image.png
データの件数次第かもしれませんが、今回の例程度の件数であればエラーにはならずString型に寄せてくれます。
ただし意図せぬデータ型になる可能性も否めませんので、列に入っているデータの型が特定できない時は使わないほうがよいでしょう。

「型を自動検出」をオフにするとどうなるの?

image.png
全部String型になるようです。
これはこれで何かの役に立つかも。

動作環境

UiPath.System.Activities 21.10.4

参考

3
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?