M365関連 技術

LogicAppsでCSVファイルを読み込む

CSVファイルをLogicAppで読み込もうとしたのですが、LogicAppsの既存アクションとして存在しておらず、四苦八苦しながら実装したのでメモとして残したいと思います
(MicrosoftさんはそろそろCSV読み込みをどの製品でも標準実装してほしい。。。)

CSVファイルを実際に読み込む

SharePoint上に配置されたCSVファイルを読み込む

今回はSharePointOnline上にあるCSVファイルを対象として読み込みを実施します
LogicAppsのSharePoinコネクタ内の「ファイル コンテンツの取得」を使用して対象CSVファイルを読み込みます

読み込むCSVファイルに日本語が含まれている場合

CSVファイル内に日本語が含まれる場合は、ファイルを保存する際に文字コードを「UTF8 BOM付(UTF8 with BOM)」でないと読み込んだ際に文字化けが発生します

読み込んだCSVファイルを使えるデータに変換する

次に読み込んだデータをLogicAppsのデータ操作機能の「作成」内でSplit関数を使用して
使えるように変換します

Split関数内は以下の内容にしています

split(base64ToString(outputs('ファイル_コンテンツの取得')?['body']?['$content']), decodeUriComponent('%0D%0A'))

・?['body']?['$content'] : SharePointコネクタで取得したファイル内容をすべて取得する

・%0D%0A : ANSIエンコードされたファイルでの改行コード

CSVファイルが読み込めましたが、末尾に不要な行が含まれています

末尾の不要な行を削除する

次に読み込んだデータをLogicAppsのデータ操作機能の「作成」内でTake関数を使用して
末尾の空行を削除します

Take関数内は以下です

take(outputs('CSVファイルを使用できるように修正'),add(length(outputs('CSVファイルを使用できるように修正')),-1))

末尾の空行を削除することができました

1行目を削除する

読み込んだデータをLogicAppsのデータ操作機能の「作成」内でSkip関数を使用して
1行目を削除します

Skip関数は以下です

skip(outputs('余分な最後の1行を削除する'),1)

最初の名称の一行を削除できました

最後に各列名を設定する

読み込んだデータをLogicAppsのデータ操作機能の「選択」を使用して各列名を設定します

Split関数内は以下です(末尾の数字は適宜変えてください)

split(item(),',')?[0]

各列名が付いた状態で値が保持されて、読み込んだCSVファイルデータを使用できるようになりました
ここまで手間をかけずに1アクションでCSVデータを使えるように早くしてもらいたいものです

会社紹介

私が所属しているアドバンスド・ソリューション株式会社(以下、ADS)は一緒に働く仲間を募集しています

会社概要
「技術」×「知恵」=顧客課題の解決・新しい価値の創造

この方程式の実現はADSが大切にしている考えで、技術を磨き続けるgeekさと、顧客を思うloveがあってこそ実現できる世界観だと思っています
この『love & geek』の精神さえあれば、得意不得意はno problem!
技術はピカイチだけど顧客折衝はちょっと苦手。OKです。技術はまだ未熟だけど顧客と知恵を出し合って要件定義するのは大好き。OKです
凸凹な社員の集まり、色んなカラーや柄の個性が集まっているからこそ、常に新しいソリューションが生まれています

ミッション
私たちは、テクノロジーを活用し、業務や事業の生産性向上と企業進化を支援します

ホームページ
アドバンスド・ソリューション株式会社
アドバンスド・ソリューション株式会社

アドバンスド・ソリューションは主にMicrosoft製品を使用して、企業の生産性向上に取り組んでいます。要件定義から導入 ...

サイトへ移動

お問い合わせ
お問い合わせ  | アドバンスド・ソリューション株式会社
お問い合わせ | アドバンスド・ソリューション株式会社

お問い合わせはこちら

-M365関連, 技術
-,