我正在尝试从'.mat'v7.3文件中提取所有变量,并将它们转换为NumPy数组。有没有办法一般地执行此操作,最好不需要指定变量名称?如何从h5py.File中获取所有当前变量名称,然后检查它们的尺寸?
实施例。
<CheckedTextView xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/textView1"
android:layout_width="wrap_content"
android:layout_height="60dp"
android:layout_marginLeft="5dp"
android:gravity="center_vertical"
android:padding="10dp"
android:textColor="#000000"
android:textSize="15sp"
android:textStyle="bold"
android:background="#F5F9F2"
/>
答案 0 :(得分:5)
在看到一些评论和H5PY Groups的文档后,我发现您可以遍历所有的H5PY&#34;项目&#34;获取与每个变量名称关联的值。我举了一个例子。如果它们是获取变量名称和值的更好方法,请发布。
注意:该示例仅提取包含数字数组(h5py.Dataset)的变量的值。如果您有嵌套的组或单元格数组,则需要进一步访问它们以获取值。
import numpy as np
import h5py
f = h5py.File('simdata_020_01.mat','r')
variables = f.items()
for var in variables:
name = var[0]
data = var[1]
print "Name ", name # Name
if type(data) is h5py.Dataset:
# If DataSet pull the associated Data
# If not a dataset, you may need to access the element sub-items
value = data.value
print "Value", value # NumPy Array / Value