投稿

4月, 2024の投稿を表示しています

PythonでC#(dll)を利用する方法

PythonでC#(dll)を利用する方法 PythonでC#(dll)を利用する方法 私は今まで、 C# での開発をする機会が多かったのですが、最近はAI関連のアプリ構築の関係で python を多く使用しています。 Pythonもライブラリが豊富なので、pipでインストールできるライブラリで大半のことができます。 しかし、ニッチなライブラリは自作するなどのしないといけず、 「過去にC#で構築したものが使えればなぁ」 と感じる場面が増えてきました。 そんな中、ふと「確かnumpyってC++で構築されたライブラリって言っていたな」と思い、もしかしたらpythonでdllを利用する方法があるのではないかと思い立ったのです。 そしたらちゃんと方法があったので、今回はこれを紹介していきたいと思います。 pythonnet pythonからdllを呼び出すには pythonnet というライブラリを使うことで実現できます。 ※dllを呼び出すためには、そのSDKも必要になるので注意。(例:.Net6など) 導入方法と使用方法を紹介していきます。 今回は自作ライブラリである Transcript4CSV の呼び出しを例にします。 ライブラリの導入 下記コマンドを実行してライブラリをインストールします。 pip install pythonnet import 下記コードを記述し、ライブラリをコード内で利用できるようにします。 from pythonnet import load load('coreclr') import clr

PowerAppsにて、PowerAutomateを使ってギャラリーを表示する

イメージ
PowerAutomateを使ってギャラリーを表示する。 PowerAppsにて、PowerAutomateを使ってギャラリーを表示する PowerApps でギャラリーを使う際には、 Microsoft Lists などをマウントしたり、変数にレコードを格納するなどして、 それぞれをギャラリーの Items に設定することで表示ができるようになります。 基本的にはこの実装方法で問題はないのですが、PowerAppsでデータ処理を複数書くのは正直面倒かつ管理が大変なため、 正直なところ PowerAutomate などにデータ処理は寄せて、 PowerApps ではデータ表示のみにしたい気持ちがあります。 しかし、PowerAutomateのからPowerAppsに渡す戻り値には、「レコード」などを指定することができず、通常の方法ではフローからListsなどのレコードを渡すことはできません。 とはいえ、フローからレコードを渡して、アプリ側は表示するだけにするべきなので、今回は、その実装方法を紹介していきたいと思います。 初心者の方は、冒頭に説明していたListsなどをマウントして、アプリ内でデータ処理する方法が明らかに楽なので、その方法で実装しましょう笑 PowerAutomateの実装 実装方法の結論をいうと、「JSON形式の文字列を渡す」という処理を実装します。 PowerAppsにはJSONをレコードに変換する関数が備わっているので、フロー側ではJSON文字列さえ渡せてしまえば良いという方法です。 トリガーはPowerApps 当たり前ですが、アプリからフローを呼び出すためトリガーは「PowerApps(V2)」を指定します。 今回はサンプルなので引数はなしで大丈夫です。