【发布时间】:2019-10-25 23:41:36
【问题描述】:
我目前正在发现 Python 中的 HDf5 库,但我遇到了一些问题。我有一个具有这种布局的数据集:
GROUP "GROUP1" {
DATASET "DATASET1" {
DATATYPE H5T_COMPOUND {
H5T_STD_I64LE "DATATYPE1";
H5T_STD_I64LE "DATATYPE2";
H5T_STD_I64LE "DATATYPE3";
}
DATASPACE SIMPLE { ( 3 ) / ( 3 ) }
DATA {
(0): {
1,
2,
3
我正在尝试在数据集中进行迭代以获取与每个数据类型关联的值并将它们复制到文本文件中。 (例如,“1”是“DATATYPE1”的关联值。)以下脚本确实有效:
new_file = open('newfile.txt', 'a')
for i in range(len(dataset[...])):
new_file.write('Ligne '+ str(i)+" "+":"+" ")
for j in range(len(dataset[i,...])):
new_file.write(str(dataset[i][j]) + "\n")
但它不是那么干净......所以我尝试通过按名称调用数据类型来获取值。我找到的最接近的脚本如下:
for attribute in group.attrs:
print group.attrs[attribute]
不幸的是,尽管我尝试过,但它不适用于数据类型:
检查数据类型导致数据集
for data.dtype in dataset.dtype:
#then print datatypes
print dataset.dtype[data.dtype
后备错误消息是“numpy.dtype' object is not iterable”。 请问您知道如何处理吗?我希望我的问题很清楚。
【问题讨论】:
-
我们实际上更希望发帖者不要在他们的问题中加入额外的措辞,如问候和“提前致谢”。
-
您应该使用 HDF5 模块之一通过 Python 访问此文件:h5py 和 pytables 是最常见的。
-
好的,抱歉。我实际上使用'import h5py'。