【发布时间】:2016-05-18 16:42:31
【问题描述】:
我有一个运行以下命令的 bash 脚本:
h5dump --noindexparticle_pos.6400_acetone > tempPythonFile.txt
hdf5 文件的内容,particle_pos.6400_acetone,是 x、y、z 坐标的集合,如下所示。
HDF5 "particle_pos.6400_acetone" { GROUP "/" { DATASET "particle position" {
DATATYPE H5T_COMPOUND {
H5T_IEEE_F64LE "x";
H5T_IEEE_F64LE "y";
H5T_IEEE_F64LE "z";
}
DATASPACE SIMPLE { ( 7372815 ) / ( 7372815 ) }
DATA {
{
0.0985972,
0.0051215,
0.000543894
},
{
0.0986334,
0.00520195,
0.000408405
},
文件应该看起来像上面的文本,但是当我转到文本文件的末尾时,我看到了以下内容。
},
{
,
-0.162017,
},
{
,
,
},
{
,
,
},
{
,
,
对我来说,似乎正在发生一些正在删除数据的事情,因为在空白条目的海洋中偶尔会有一个浮点数。
这个命令在较小的数据集上没有问题,但是当我的数据集包含 7372815 个元素时,我开始看到 tempPythonFile.txt 文件中缺少数据。
是否有更可接受的方法将 HDF5 数据输出到文本文件? redirect(>) 命令不适合处理大量数据吗?
谢谢
【问题讨论】:
-
部分输出是否写入标准错误?如果是这样,那么您还应该将其重定向到您的输出文件。
-
我这样做了,但没有看到任何额外的打印内容。
-
重定向不会修改/过滤任何命令输出:它只是将所有输出(通常定向到标准输出文件)重定向到另一个文件中。我建议您更好地查看您的输入数据集和/或 h5dump 的手册
-
我已将文件发送给 HDF5 小组,因为他们表示有兴趣尝试重现该问题。当有更多信息出现时,我会更新。
-
我确实收到了 HDF5 小组的回复,他们确实发现这是我使用的 HDF5 版本的问题。