コピーした表データをデータテーブルに変換する方法

PowerAutomateDesktop

表データをコピーして、データテーブル型の変数にする方法を説明します。

Power Automate Desktop(PAD)でWebページなどの表データを扱っていると、

「表をコピーしたけれど、テキストでしか取得できない」

ということがあります。

コピーしたデータをそのまま変数に保存すると、テキスト型のデータとして扱われます。

しかし、その後に

  • 表の1行ずつを処理したい
  • 特定の列の値を取得したい
  • データテーブルの行を繰り返し処理したい
  • データを検索・加工したい

といった処理を行う場合は、データテーブル型に変換しておくと扱いやすくなります。

「CSVテキスト変数から読み取る」アクションを使用すると、データテーブル型で保存することが可能です。

以下のような処理を例として説明していきます。

  • 表形式のデータをコピー
  • クリップボードテキストを取得
  • CSVテキスト変数から読み取る
  • データテーブルとして保存

ポイントは、コピーした時点ではまだデータテーブルになっていないことです。

一度テキストとして取得し、そのテキストを「CSVテキスト変数から読み取る」アクションでデータテーブルに変換します。

1.表形式のデータをコピーする

まず、データテーブルにしたい表をコピーします。
今回はWebブラウザに表示されている表を例にします。

「キーの送信」アクションで、表を選択してコピーします。

Power Automate Desktopのフローから操作する場合は、「キーの送信」アクションなどを使用して、対象の表を選択したあとにコピーすることができます。

例えば、以下のようにキーを送信してコピーします。

  • Ctrl + A
  • Ctrl + C

ただし、Ctrl + A はページ全体を選択してしまう場合もあるため、Webページの構造によっては、コピーしたい表をマウス操作などで選択する必要があります。

2.コピーしたデータを変数に入れる

次に、コピーした内容を変数に保存します。

使用するアクションは、「クリップボードテキストを取得」です。

このアクションを実行すると、クリップボードに保存されているテキストを変数として取得できます。

例えば、コピーした表が次のようなデータだったとします。

名称    単価    個数
りんご    120     5
みかん    100     10
ぶどう    300     5

この時点では表の形に見えていても、PADの変数としてはテキストとして保存されています。

3.データテーブルに変換する

次に、取得したテキストをデータテーブルに変換します。

使用するアクションは、「CSVテキスト変数から読み取る」です。

このアクションでは、CSV形式のテキストを読み込み、データテーブルを作成できます。

ここで重要なのが、「コピーしたデータが何で区切られているのか」です。

今回コピーした表では、列と列の間がタブで区切られていました。

そのため、詳細の「列区切り記号」から「タブ」を選択します。

これを設定して実行すると、コピーしたテキストが列ごとに分かれ、データテーブルとして保存されます。

ここは、初めて使うと少し分かりにくいところです。

例えば、コピーしたテキストが、

名称[TAB]単価[TAB]個数
りんご[TAB]120[TAB]5
みかん[TAB]100[TAB]10

のようになっている場合、

[TAB]

の部分が列と列の境目になります。

そのため、PADに

このデータはタブで区切られています

と教える必要があります。

もしここで「カンマ」を指定してしまうと、実際のデータの区切り方と設定が一致しないため、期待した列構造になりません。

コピーしたデータが正しくデータテーブルにならない場合は、まず元のテキストが何で区切られているのかを確認してみてください。

例えば、

名称,単価,個数
りんご,120,5
みかん,100,10

なら、カンマ区切りです。

一方、

名称    単価    個数
りんご    120     5
みかん    100     10

のように列の間がタブになっている場合は、タブを指定します。

以下の表を参考に、取得したデータを確認してみてください。

コピーしたデータ指定する区切り文字
商品名,価格,在庫カンマ
商品名;価格;在庫セミコロン
商品名[TAB]価格[TAB]在庫タブ
独自の記号で区切られているカスタム

「CSVテキスト変数から読み取る」には、定義済みの区切り文字だけでなく、カスタム区切り文字を指定する方法もあります。

例えば、

商品名|価格|在庫
りんご|100|10
みかん|150|20

のように | で区切られたデータの場合です。

この場合は「列区切り文字」をカスタムに変更し、

|

を指定します。

データそのものに列区切り記号と同じ記号が含まれている場合、意図しない場所で列が分割される可能性があります。

例えば、

商品A 東 京 1000

というデータを「 (スペース)」で区切る場合、東京が別の列として扱われます。

そのため、カスタム区切り文字を使う場合は、

「その記号がデータの中にも使われていないか」

を確認しておくことが重要です。

表の1行目が、

商品名    価格    在庫

のような見出しになっている場合は、「最初の行に列名を含める」の設定も確認してください。

この設定を有効にすると、最初の行をデータとして読み込むのではなく、データテーブルの列名として利用できます。

例えば、

商品名    価格    在庫
りんご    100     10
みかん    150     20

の場合、

商品名
価格
在庫

が列名になります。

この設定を使用するかどうかは、コピーする表の構造に合わせて選択してください。

単純にテキストとして保存するだけなら、今回の変換は必要ありません。

データテーブルにするメリットは、表形式のデータとして後続処理を行いやすくなることです。

例えば、

  • Webページの表
  • コピー
  • データテーブルへ変換
  • 1行ずつ処理
  • 必要なデータだけ取り出す
  • Excelなどへ保存

というフローを作ることができます。

また、PADにはデータテーブルを操作するためのアクションが用意されており、行や列の追加・削除、値の更新、検索や置換、並べ替えなどにも利用できます。

そのため、表データを後から加工する予定がある場合は、最初にデータテーブルへ変換しておくと便利です。

Webページから表データを取得する方法として「Webページからデータを抽出する」アクションもあります。

この方法では、Webページ上のデータを直接取得してデータテーブルとして扱うことができます。

ただし、Webページの構造によっては、データ抽出の設定やUI要素の指定で悩むことがあります。

そのような場合の選択肢の一つとして、

  • Webページの表をコピー
  • クリップボードから取得
  • データテーブルへ変換

という方法があります。

どちらの方法が適しているかは、対象となるWebページや取得したいデータによって変わります。

テキストよりデータテーブルとして使いたいときに活用してみてください!

タイトルとURLをコピーしました