Power Automate Desktop|CSVの読み込み

CSVからデータをどうやって読み込めばいいの?

という疑問に答えます。クラウドシステムなどからダウンロードできるデータが、CSV形式のファイルであることが多いので、業務の中でCSVファイルを扱う機会はたくさんあります。

本コンテンツではサンプルデータ[店舗マスタ.csv]を使って(ダウンロードできます)、CSVデータを読み取る例を解説します。[店舗マスタ.csv]をメモ帳で開くと、このように見えます。

この記事の内容

それではどうぞ!

この記事を書いた人
この記事を書いた人
こさい
こさい

(株)完全自動化研究所代表のこさいです。

1) エンジニア歴25年超。RPA支援8年超
2) RPA関連の書籍を6冊出版。
3)ご質問・お仕事のご依頼はこちら

CSVの読み込みに使うアクション

CSVの読み込みに使うアクションは、[CSVファイルから読み取る]アクションです。このアクションは[ファイル]アクショングループ内に格納されています。

[ファイルパス]に読み取るCSVファイルのパスを入力し、[エンコード]にCSVファイルを読み取るために使用するエンコードを設定します。

エンコードとはコンピュータ上で文字を取り扱うために、文字に数値を割り当てる処理のことです。読み取るCSVファイルに合わせて選択しましょう。読み取ったデータが文字化け(「?????」など読めない文字になること)してしまうときは選択を変更してください。Windows11のユーザーは[システムの規定値]もしくは[UTF-8]を選択しておけば、問題は発生しないでしょう。

[詳細]の項目について解説します。[フィールドのトリミング]では、CSVファイルから抽出されたセルの先頭と末尾にある空白を自動的にトリミングするかどうかを指定します。

[最初の行に列名が含まれています]では、CSVファイルの最初の行を当アクションによって生成されるデータテーブルの列名とするかどうかを指定します。

[列区切り記号]と[区切り記号]については、「[列区切り記号]と[区切り記号]について」で解説します。[生成された変数」には読み取られたCSVファイルの内容がデータテーブル型で格納されます。

[列区切り記号]と[区切り記号]について

[列区切り記号]を変更することで、様々な[区切り記号]に対応できます。

列区切り記号[定義済み]

[列区切り記号]に[定義済み]を指定した場合は、一般的な区切り記号であるコンマやセミコロンなどを選択できます。

システムの規定値:区切り文字はシステムの規定値(コンマ)となります。
コンマ:区切り文字は「,」となります。
セミコロン:区切り文字は「;」となります。
タブ:区切り文字はTabとなります。

列区切り記号[カスタム]

[列区切り記号]に[カスタム]を指定した場合は任意の区切り記号を入力できます。[カスタム区切り記号]に「+」を指定した例です(こういうことはほとんどないと思いますが)。

列区切り記号[列の幅を固定する]

[列区切り記号]に[列の幅を固定する]を指定した場合は固定長形式のファイルに対応できます。一列目が5桁、2列目が7桁、3列目が10桁の場合は「5,7,10」と入力します。

フローを作成しよう

こさい
こさい

実際にフローを作成して身に付けましょう!

準備

ドキュメントフォルダーに「PAD」というフォルダーを作成し、さらに「Data」というフォルダーを作成してください。「ドキュメントフォルダー\PAD\Data」というフォルダー構成となります。その中に「店舗マスタ.csv」を保存してください。

[店舗マスタ.csv]は下のボタンをクリックすることでダウンロードできます。

“店舗マスタ.csv” をダウンロード 店舗マスタ.csv – 45 回のダウンロード – 104.00 B

「ドキュメントフォルダー\PAD\Data\店舗マスタ.csv」と配置されていることを確認してください。

フローを作成しよう

STEP1 [特別なフォルダーを取得]アクションを追加する

アクションペインで[フォルダー]アクショングループをクリックしてください。[特別なフォルダーを取得]アクションをワークスペースに追加してください。

STEP2 [特別なフォルダーを取得]アクションを設定する

[特別なフォルダーを取得]ダイアログが表示されます。[特別なフォルダーの名前]のドロップダウンリストをクリックし、[ドキュメント]をクリックしてください

[作成された変数]に[SpecialFolderPath]と表示されていることを確認して、[保存]をクリックしてください。OneDriveがデフォルトのドキュメントフォルダーに設定されている場合は、図とはパスが異なるので注意してください(HINTをお読みください)。

STEP3 [CSVファイルから読み取る]アクションを追加する

アクションペインの[ファイル]アクショングループをクリックし、[CSVファイルから読み取る]アクションを[特別なフォルダーを取得]の後に追加してください

STEP4 [CSVファイルから読み取る]アクションを設定する

[CSVファイルから読み取る]ダイアログが表示されます。[ファイルパス]の[ファイルの選択]をクリックしてください

[ファイルの選択]ダイアログが表示されるので、[店舗マスタ.csv]を選択してください。[開く]をクリックしてください

[ファイルパス]に[店舗マスタ.csv]のパスが入力されます。OneDriveがデフォルトのドキュメントフォルダーに設定されている場合は、図とはパスが異なるので注意してください(HINTをお読みください)。

[ファイルパス]内のパスを選択し、「\PAD\Data\店舗マスタ.csv」(\マークはPADでは、バックスラッシュで表示されます)の前部分を削除してください(OneDriveがドキュメントフォルダーに設定されている場合はHINTをお読みください)。

[ファイルパス]の[変数の選択]をクリックして、表示されたメニューの中から[SpecialFolderPath]をクリックし、[選択]をクリックしてください

[ファイルパス]に「%SpecialFolderPath%\PAD\Data\店舗マスタ.csv」(\マークはPADでは、バックスラッシュで表示されます)となっていることを確認してください。これで、ログインユーザーが変わっても動作するようになりました。

[詳細]をクリックしてください。[最初の行に列名が含まれています]を[有効]にしてください

変数名が[CSVTable]となっていることを確認してください。[保存]をクリックしてください

こさい
こさい

お疲れ様です!これでフローは完成です。

フローを実行しよう

フローが完成したので、フローを保存して実行してください。[店舗マスタ.csv]が起動した状態で終了します。変数ペインの[CSVTable]をダブルクリックすると、[店舗マスタ.csv]の表が格納されていることがわかります。

データテーブル型変数[CSVTable]をフロー内で使うことで、CSVファイルのデータを利用することになります。

コメント ログインすると書き込めます