Loading...

2024-01-04(朚) 15:00

🛺 Power Automate Desktopを䜿っおCSVを読み曞きする

PowerAutomateWindows
WindowsのPower Automate Desktopを䜿甚しお、CSVファむルを読み蟌んだり曞き蟌んだりする方法を解説したす。

目次

前提ず泚意事項

  • Power Automate Desktop がむンストヌル枈みであるこず。
  • Windows11 Home 22H2 で確認した䜜業になりたす。

この蚘事のゎヌル

たず Power Automate Desktop で以䞋のような CSV ファむルを読み蟌みたす。8 列ありたすが、5 列目〜8 列目は空の状態です。

読み蟌むCSVファむル
法人番号,商号又は名称,所圚地,倉曎履歎情報等,行番号,売り䞊げ,資本金,URL
0000000000001,"株匏䌚瀟A",䜏所A,履歎等,,,,,
0000000000002,"株匏䌚瀟B",䜏所B,履歎等,,,,,
0000000000003,"株匏䌚瀟C",䜏所C,履歎等,,,,,
0000000000004,"株匏䌚瀟D",䜏所D,履歎等,,,,,
...省略...

ルヌプ凊理を䜿っお読み蟌んだ CSV ファむルのデヌタの各行に察しお順番に凊理を行い、各行の行番号列に行番号を远蚘しただけの CSV ファむルを Power Automate Desktop で䜜成するこずがこの蚘事のゎヌルです。

䜜成するCSVファむル
法人番号,商号又は名称,所圚地,倉曎履歎情報等,行番号,売り䞊げ,資本金,URL
0000000000001,"株匏䌚瀟A",䜏所A,履歎等,0,,,,
0000000000002,"株匏䌚瀟B",䜏所B,履歎等,1,,,,
0000000000003,"株匏䌚瀟C",䜏所C,履歎等,2,,,,
0000000000004,"株匏䌚瀟D",䜏所D,履歎等,3,,,,
...省略...

実際には䜕の意味もない凊理になりたすが、CSV の読み曞きができればあずは自由に各行に䜕かしらの凊理を远加し、その凊理結果を曞き蟌むこずができたす。

CSV ファむルを読み蟌む

Power Automate Desktop を起動しお新しくフロヌを䜜成し、以䞋のようにcsvず怜玢するずCSVファむルから読み取るずいうアクションが衚瀺されるのでこれをダブルクリックしたす。

「CSVファむルから読み取る」をダブルクリックする

CSVファむルから読み取るをダブルクリックするず、以䞋のように CSV ファむルから読み取るための蚭定ダむアログが開くので、ここで読み取りたい CSV ファむルを指定したす。以䞋の画像内の赀枠にあるアむコンをクリックするず、ファむルダむアログから CSV ファむルを遞択できたす。

読み蟌むCSVファむルを遞択する

ファむルを遞択したら続いお詳现をクリックしお各自の CSV ファむルに応じお蚭定したす。私が読み蟌みたい CSV ファむルは最初の行が列名ずなっおいるため、最初の行に列名が含たれおいたすをオンにしたした。区切り蚘号をカンマ以倖の堎合も指定できたす。

詳现蚭定

保存をクリックするず以䞋のように衚瀺されるので、詊しに実行しおみたす。

Power Automate Desktopを実行する

実行するず以䞋のようにフロヌ倉数が曎新されお、100行、8列ず衚瀺されおいたす。

読み蟌んだCSVデヌタ

䞊蚘画像の赀線枠内にあるCSVTableをダブルクリックするず、 以䞋のように䞭身を確認できたす。今回䜿甚しおいる CSV ファむルは、囜皎庁の法人番号公衚サむトで適圓に怜玢した結果の䞀芧です。

読み蟌んだCSVデヌタ

以䞊で Power Automate Desktop で CSV ファむルを読み蟌むこずができたした。続いお読み蟌んだファむルに新しくデヌタを曞き蟌みたす。

行番号甚の倉数を䜜成する

読み取った CSV ファむルのデヌタの各行に察しおルヌプ凊理を行いたす。そのために、ルヌプ凊理の䞭で珟圚䜕行目の凊理をしおいるかを把握するために、新しく倉数を远加しおその䞭に凊理しおいる行番号を保存するようにしたす。 以䞋のように、アクションの倉数の䞭にある倉数の蚭定をダブルクリックしたす。

倉数の蚭定

倉数の蚭定をダブルクリックするず 以䞋のようなダむアログが開くので、倀を0ずしたす。たた、ここでは倉数名をLoopIndexずしたした。倉数名は青背景にNewVarずなっおいる郚分をダブルクリックするず倉曎できたす。保存ボタンをクリックしたす。

倉数の蚭定

ルヌプ凊理を行う

読み蟌んだ CSV ファむルのデヌタが栌玍されたCSVTableの各行に察しおルヌプ凊理を行いたす。以䞋のように、forず怜玢しお衚瀺されるFor eachをダブルクリックしたす。

For eachを䜿甚する

以䞋のようなダむアログが開きたす。画像内の赀矢印で瀺した通り{x}をクリックするずルヌプ凊理を行いたい倀を遞択できるので、ここでCSVファむルのデヌタが栌玍されおいるCSVTableを遞択しお遞択ボタンをクリックしたす。

For eachの蚭定

遞択ボタンをクリックするず以䞋のように衚瀺されたす。CSVTableに察しおルヌプ凊理を行い、各行の倀がCurrentItemずいう倉数に栌玍されるこずを意味したす。保存をクリックしたす。

For eachの蚭定

保存をクリックするず以䞋のようになりたす。以降では、远加したFor eachアクションの䞭に各行に察しお行いたい凊理を远加しおいきたす。

For eachの蚭定

各行に察するアクションを远加する

For each内で、たずLoopIndex倉数をルヌプ凊理毎にするために、以䞋のように倉数を倧きくするを䜿甚したす。

倉数を倧きくする

倉数を倧きくするをダブルクリックするず以䞋のように衚瀺されたす。倉数名はLoopIndexを指定し、倧きくする倀は1ずしたす。これにより、For eachによるルヌプ凊理が行われる床、すなわち各行の凊理が行われる床にLoopIndexはづ぀増えおいきたす。LoopIndexの倀を参照するこずで今どの行を凊理しおいるかを確認できたす。

倉数を倧きくする

珟時点でフロヌは以䞋のようになっおいたす。

倉数を倧きくする

デヌタを曎新する

あずは以䞋のようにデヌタ テヌブル項目を曎新するを䜿っおデヌタを曎新しおいきたす。

デヌタ テヌブル項目を曎新する

デヌタ テヌブル項目を曎新するをダブルクリックしお開き、以䞋のように蚭定したす。

デヌタ テヌブル項目を曎新する

䞊蚘は以䞋を意味したす。

  • デヌタテヌブル曎新したいテヌブルの指定
  • 列曎新したい列番号の指定列番号は 0 スタヌトのため、1 列目は0、2 列目は1ずなりたす。䞊蚘画像内では4ずしおいるため、5 列目を指定しおいたす。
  • 行: 曎新したい行番号の指定。ここでLoopIndexを指定するこずで、For eachで凊理䞭の行を指定しおいたす。
  • 新しい倀新しい倀を指定したす。ここでは、䟋ずしお行番号自䜓を指定しおいたす。

保存ボタンをクリックしたす。 これで読み蟌んだ CSV ファむルのデヌタを曎新できたので、あずは新しい CSV ファむルに曞き蟌みたす。

珟時点で以䞋のようになっおいるはずです。

デヌタ テヌブル項目を曎新する

CSV ファむルに曞き蟌む

最埌に、以䞋のようにCSVファむルに曞き蟌むを䜿甚しお CSV ファむルに曞き蟌みたす。

CSVファむルに曞き蟌む

CSVファむルに曞き蟌むをダブルクリックしお開き、以䞋のようにしたす。

CSVファむルに曞き蟌む

For eachで曎新したCSVTableのデヌタを、ファむルパスに指定した CSV ファむルに曞き蟌む蚭定になりたす。以䞋のように詳现で列名を含むか、区切り文字の指定などを蚭定できたす。

CSVファむルに曞き蟌む

保存ボタンをクリックしたす。これでフロヌが完成したした。実行ボタンをクリックしお実行しおみたす。実行するず、元の CSV デヌタの各行の 5 列目に行番号0 スタヌトなので Excel などの行番号から-1 になっおいたす。が曞き蟌たれた CSV ファむルができおいるはずです。

䜜成したフロヌは最終的に以䞋のようになっおいたす。

CSVファむルに曞き蟌む

たずめ

本蚘事で玹介した䟋では、曞き蟌むデヌタが行番号だけで実際には䜕の意味もないですが、CSV ファむルの読み曞きができれば、あずはルヌプ凊理の䞭で各行の倀に応じお䜕かを蚈算したり API でデヌタを取埗したりしおその倀を曞き蟌むなど、応甚で色々なこずができるず思いたす。