擅长:python、mysql、java
<p><code>h5py</code>将以numpy数组的形式访问HDF5数据集。获取键的调用返回数据集名称的列表。现在已经有了它们,将它们作为numpy数组访问并编写它们应该非常简单。您需要让dtype知道每个列中的内容才能正确格式化。在</p>
<p><strong>更新于2019年5月22日</strong>以反映在评论链接上发布的<code>data.h5</code>的内容。
<code>np.savetxt()</code>中的默认格式是<code>'%.18e'</code>。提供了非常简单(粗糙)的逻辑,用于根据这些数据集的数据类型修改格式。这就需要更健壮的数据类型检查和格式化,以供一般使用。此外,还需要添加逻辑来解码unicode字符串。在</p>
<pre><code>import h5py
filename = 'D:\data.h5'
import numpy as np
h5f = h5py.File(filename, 'r')
# get a List of data sets in group 'dd48'
a_dset_keys = list(h5f['dd48'].keys())
# Get the data
for dset in a_dset_keys :
ds_data = (h5f['dd48'][dset])
print ('dataset=', dset)
print (ds_data.dtype)
if ds_data.dtype == 'float64' :
csvfmt = '%.18e'
elif ds_data.dtype == 'int64' :
csvfmt = '%.10d'
else:
csvfmt = '%s'
np.savetxt('output_'+dset+'.csv', ds_data, fmt=csvfmt, delimiter=',')
</code></pre>