投稿

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)」を指定します。 今回はサンプルなので引数はなしで大丈夫です。

Summarin(web版)

文書要約アプリ「 Summarin 」のweb版を公開しました。 iOS版やandroid版とは異なるモデルを利用しており、利用できる機能も少しことなります。 アプリのライセンスにも記載していますが、 CyberAgent が公開した大規模言語モデル cyberagent/open-calm-medium を利用しています。 このモデルを インストラクションチューニング して要約などをできるようにしたものです。 This model is a fine-tuned version of OpenCALM-medium developed by CyberAgent, Inc. The original model is released under the CC BY-SA 4.0 license, and this model is also released under the same CC BY-SA 4.0 license. For more information, please visit: https://creativecommons.org/licenses/by-sa/4.0/

C#(Dotnet)でCSVファイルを扱う

C#(Dotnet)でCSVファイルを扱う C#(Dotnet)でCSVファイルを扱う 以前、 C#でCSVファイルを読み込む にて、 C# (dotnet) で CSVファイル を読み込む方法を紹介していました。 前回からの改良点や、追加した部分を紹介していこうと思います! なおGitには最新のコードやdllを配置しているので、よかったら見てみてください。 「こうするべきでは?」というのがあれば連絡もらえると嬉しいです! ・ https://github.com/flying-YT/CSV4net/tree/master 読み込みクラスの改良点 以前のコードでは値をそのまま配列に格納していましたが、ダブルクォーテーションで囲われている場合はダブルクォーテーションを含めて配列格納していました。 しかし、実際には値はダブルクォーテーションを含まず取り出したいケースがあると思い、囲っているダブルクォーテーションを削除するように仕様変更しています。 具体的な変更点としては、下記配列を格納する部分で正規表現を使っています。 変更前 var strArray = new string[separateList.Count]; foreach (var item in separateList.Select((value, index) => new { value, index })) { strArray[item.index] = item.value; } 変更後 var strArray = new string[separateList.Count]; foreach (var item in separateList.Select((value, index) => new { value, i

PowerAppsの呼び出し仕様がV2で変わっている件

イメージ
PowerAppsの呼び出し仕様がV2で変わっている件 PowerAppsの呼び出し仕様がV2で変わっている件 以前Youtubeに 【便利】Power Appsで勤怠管理アプリを作成する! という動画を投稿したのですが、そのコメントを読んでいるとどうやら上手く作成できない状況になっているようでした。。 気になり、再度フローを1から作成してみたところ、トリガーが「 PowerApps(V2) 」になっていることに気が付きました。 でも「まぁ内部動作の変更くらいでしょ」と油断していたら、まさかの引数部分の仕様が変更に。。。 なので今回は、 Power Apps から、 Power Automate のフローを呼び出す方法を「V2」バージョンで紹介しようと思います。 引数の指定方法 今まであれば、トリガーには設定項目がなく、以降のステップにて「PowerAppsにて確認」を設定することで引数指定することができていました。(下図) しかし、V2になってからトリガーに値が指定できるようになっています。 つまり、トリガー部分で引数を指定し、後続の各ステップでは値を呼び出すだけに仕様変更されています。 引数を設定するには、各引数に対して2つの設定を行います。 ユーザー入力の種類の選択 こちらは変数の初期化を行う際に指定する「種類」と同等です。(プログラミングなら変数の型ですね) 文字列を引数にする場合であれば、「テキスト」を選択します。 引数名と説明 「ユーザー入力の種類の選択」を行うと、次のように表示されます。 これが初見では迷うのですが、どうやら「入力」というのが「 変数名 」、「入力を指定してください」が「 値の説明

MAUIのiOSアプリで90717が発生する場合

イメージ
MAUIのiOSアプリで90717が発生する場合 MAUIのiOSアプリで90717が発生する場合 MAUI でアプリを構築し、いざ App Store Connect に送信しようとした際に、 90717 のエラーが発生して転送完了しないことがありました。 ネットで解決を方法を検索して、それを試してもうまく行かず、時間をかけすぎたことがあったので、備忘のためにブログに残したいと思います。 解決方法 ネットで解決方法を検索すると、 アプリアイコンの背景が透過 されていると発生するとのこと。 アイコンの元ファイルを確認したところ、透過していたので修正して再度ビルド、転送を実施。 しかし、同じく 90717 が発生して転送できませんでした。 何回かリビルドなどを繰り返してもうまく行かず、検索してもネイティブの情報しか出てこないため四苦八苦していたところ、Githubのissueに同じくMAUIで事象が発生している人を発見。 https://github.com/dotnet/maui/issues/11124#issuecomment-1304723081 上記リンクで回答されているのですが、csprojファイルのアプリアイコン部分の記述に Color を指定するだけでした。 <!-- App Icon --> <MauiIcon Include="Resources\AppIcon\appicon.svg" ForegroundFile="Resources\AppIcon\appiconfg.svg" Color="#000000" /> 「まさかこれだけで解決するなんて」と思っていましたが、colorを指定してビルド、app storeに転送したら無事完了しました! なんと、csprojファイルの指定をするだけだったと

dotnetでTeamsのトランスクリプトを活用

dotnetでTeamsのトランスクリプトを活用 dotnetでTeamsのトランスクリプトを活用 仕事で Teams を使っている人は多いのではないでしょうか。 その流れでTeams会議を使っている可と思いますが、Teams会議には文字起こし機能「 トランスクリプト 」が存在します。 精度は少々残念ですが、自動的に作成してくれ、かつ話者ごとに分割して表示してくれます。 皆さんはこの トランスクリプト を活用したいと思ったことはないでしょうか。 できればトランスクリプトを議事録の作成に使いたいと思ったことはあると思います。しかし、ダウンロードできる Vttファイル は、そのままではデータ操作しにくいものです。 なので今回私はトランスクリプトを活用するべく、 Vttファイル を CSVファイル に変換し、かつフィラー除去(※)などを行えるライブラリを作成したので、ここで紹介したいと思います。 ※「あ、」や「えっと」などの不要語を取り除くこと 自作ライブラリ紹介 ライブラリはGitにアップしているので、ぜひ活用していただければと思います。(こう処理を変えるとよいなどのアドバイスいただけると嬉しいです。) ・ Transcript4CSV 基本的には使い方は README.md に記載してはいますが、こちらでもざっくり紹介します。 dllをプロジェクトに追加 Gitのリリースからdllをダウンロードしていただき、自分のプロジェクトに追加してください。 usingの追加 呼び出すファイルにusingを追加します。 using Transcript4CSV;