質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.31%
ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

Q&A

解決済

1回答

3463閲覧

matlabで作成したmatfileに含まれる構造体のフィールド名をpythonで取得する方法

shihatu

総合スコア2

ファイル

ファイルとは、文字列に基づいた名前又はパスからアクセスすることができる、任意の情報のブロック又は情報を格納するためのリソースです。

MATLAB

MATLABはMathWorksで開発された数値計算や数値の視覚化のための高水準の対話型プログラミング環境です。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

データ構造

データ構造とは、データの集まりをコンピュータの中で効果的に扱うために、一定の形式に系統立てて格納する形式を指します。(配列/連想配列/木構造など)

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2021/09/17 06:02

前提・実現したいこと

matlabで作成したmatファイルを

import scipy.io import numpy as np Dictionary = scipy.io.loadmat('該当のマットファイル.mat')

でもってきてDictonaryに格納しています。該当のマットファイル.matは1つの構造体(S)を持っていて、それは1*3のフィールドを持っています。
例えば構造体の中身が
S.x = 1;
S.y = [1,2,3,4,5];
S.z = 'aiueo'
だった場合、構造体のフィールド名(xとyとz)を取得するにはどのようにすればよいのでしょうか

試したこと

各フィールドの要素へのアクセス方法はわかりました。

補足情報(FW/ツールのバージョンなど)

以下のサイトを参照しました。
https://sn-neural-compute.netlify.app/202007090/
https://numpy.org/doc/stable/reference/arrays.dtypes.html

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

can110

2021/09/17 06:46

「print(Dictionary)」を実行すると、どのような結果が表示されますか? その表示結果の中に「x」などフィールド名に相当するものは含まれていないでしょうか?
shihatu

2021/11/24 08:27

ありがとうございます。こちらの質問はmatlab側の処理で解消されました。返事が遅くなり申し訳ございません。
guest

回答1

0

ベストアンサー

こんな感じで変数リストとれないでしょうか?

Python

1keys = Dictionary['results'][0, 0].dtype.descr 2 3for key in keys: 4 print(key)

投稿2021/09/17 09:11

WhiteTempest

総合スコア404

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

shihatu

2021/11/24 08:27

ありがとうございます。こちらの質問はmatlab側の処理で解消されました。返事が遅くなり申し訳ございません。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.31%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問