ルドルフもわたるふもいろいろあってな

Microsoft 365、Power Platform、PowerShellについて調べたことや検証したことなどを投稿します。技術の話は面白い。

【応用編その1】Power Automate でCSVのデータを配列に変換する(+ SharePointリストにアイテムとして投稿する)

掲題のフローの応用編その1です。

解説編で公開・解説したフローはCSVに記載されているすべての値ダブルクォーテーションで挟まれていることを前提としています。その応用としてダブルクォーテーションの有り無しを自動で判定してデータ取り込み処理を行うフローも作ってみました。

フローをGitHubで公開しました。下記リンク先からダウンロードしてください。
github.com

解説の経緯

今回の投稿は概要編解説編その1解説編その2 の続きです。

概要

応用編で解説するこのフローは下図の通り、CSVに記載されている「カンマ(,)」と「ダブルクォーテーション(")」がデータに含まれる文字であるかどうかを自動で判定します。データに含まないものは取り除いたうえで、データを読み取ります。そして、SharePointリストへアイテムを投稿します。

フローによって下図の通りSharePointリストにアイテムが投稿されます。

注意

応用編で解説するフローは前回までに解説したフローと比較して処理速度が圧倒的に遅いという短所があります。例として行数が3行のデータを処理するのに2分半ほど時間がかかります。

これらの2つを参考にしてフローを作成する場合は、2つのフローの長所短所を比較したうえで判断してください。

フロー図

アクションの設定を閉じた状態のフロー図


開いた状態のフロー図

使用イメージ

Excelを使ってデータを作成します。1行目は列名、2列目移行はデータとします。CSVとして保存するため、テーブルは作成しません。

CSVとして保存します。

フローのインプットにするCSVをOneDrive for Business にアップロードします。

フローを手動実行します。数分待って、フローが完了したことを確認します。

SharePointリストにアイテムが登録されました。

ポイント:「カンマ(,)」と「ダブルクォーテーション(")」をデータとして含めるかどうかが自動判定されている

繰り返しになりますが、このフローのポイントはCSVのテキストに含まれてる「カンマ(,)」と「ダブルクォーテーション(")」をデータとして含めるかどうかを自動で判定していることです。

インプットのCSVはこちらです。(再掲)

CSVから取り込んだデータはフローによってJSON配列に変換されたうえでSharePointリストに登録されます。

下図がそのJSON配列です。データとして含める意図ではない「カンマ(,)」と「ダブルクォーテーション(")」が取り除かれていることが分かります。

このフローをGitHubで公開しました。(再掲)

フローをGitHubで公開しました。下記リンク先からダウンロードしてください。この投稿の冒頭で記載しているリンクと同じです。
github.com

最後に

フローの解説は別の投稿で行います。

今回は以上です。

2022/9/4追記:応用編その2 を投稿しました。

wataruf.hatenablog.com