问题标签 [hdf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
3716 浏览

c++ - C/C++ HDF5 读取字符串属性

我的一位同事使用 labview 将 ASCII 字符串作为属性写入 HDF5 文件。我可以看到该属性存在并读取它,但我无法打印它。

属性为,如HDF Viewer所示:

日期 = 2015\07\09

所以“日期”是它的名字。

我正在尝试使用此代码读取属性

为什么会这样?我怎样才能得到这个字符串作为const char*or std::string

我也尝试使用 type atype = H5Tcopy (H5T_C_S1);,但也没有用...

编辑:在这里,我根据要求提供了一个完整的、独立的程序:

该程序的打印输出:

谢谢。

0 投票
1 回答
3020 浏览

c++ - 如何检查文件是否为有效的 HDF5 文件?

根据此处给出的示例,我将文件图像作为带有有效处理程序的字符串加载到内存中。这是使用H5LTopen_file_image().

如何检查文件是否为有效的 HDF5 文件?

我只找到了一个名为 的程序H5check,它的源代码很复杂。所以,我想知道,是否有一个带有简单返回值的简单函数来验证hid_t处理程序中的任何内容都是有效的 HDF5 文件?

0 投票
1 回答
1439 浏览

python - 打开损坏的 PyTables HDF5 文件

我希望在打开损坏的 HDF5 文件时得到一些帮助。我正在PyTables通过访问Pandas,但pd.read_hdf()调用会产生以下错误。我对 . 的内部运作一无所知PyTables

我相信这个错误是因为保存到文件的过程(每 10 秒左右附加一次)被重复了,所以有 2 个相同的过程附加。我不确定为什么这会损坏文件而不是重复数据,但是这两个错误一起发生,这就是为什么我认为它们是因果关系的。

0 投票
0 回答
177 浏览

python - Python 大数据集 - 带有 Dataframe 的 PyTable HDF5

我有一个非常大的文件保存为 abn hdf 文件。我在 python 数据框中也有一些数据,我想通过唯一的 id 在 hdf 文件中查找这些数据。

有没有一种简单的方法可以基本上加入他们?我看到了 where 函数的示例,但使用大量值来查找似乎并不容易。

0 投票
2 回答
603 浏览

c++ - 在 hdf5 中使用 std:: 字符串会产生不可读的输出

我目前在 Windows 7 64 位上使用 hdf5 1.8.15。我的软件的源代码使用 utf8 编码保存在文件中。

一旦我调用任何支持 std::string 的 hdf5 函数,输出就会变得神秘

在此处输入图像描述

但如果我使用const char*而不是std::string,一切正常。这也适用于文件名。

这是一个简短的示例:

我猜这个问题是由我的源文件和 hdf5 中使用的不同编码引起的。但我不确定这一点,也没有找到允许使用std::strings 的解决方案。我将不胜感激任何可以帮助我解决这个问题的想法。

0 投票
1 回答
788 浏览

python - 使用 h5py 将外部原始文件链接到 hdf5 文件

我经常使用二进制平面文件,它们需要保持当前格式才能处理遗留代码,但是我也希望能够使用带有属性和组的 HDF5 文件的一些功能。我在 HDF5文档 5.5.4中看到可以链接外部数据。是否有直接的方法来创建 HDF5 文件并使用 h5py 添加外部链接?

0 投票
1 回答
2393 浏览

python - Pandas to_hdf 成功但 read_hdf 失败

Pandasto_hdf成功read_hdf但当我使用自定义对象作为列标题时失败(我使用自定义对象是因为我需要在其中存储其他信息)。

有什么办法可以使这项工作?或者这只是 Pandas 错误或 PyTables 错误?

作为一个例子,下面,我将首先展示一个使用字符串列标题的 DataFrame foo,并且一切都可以正常使用to_hdf/ read_hdf,但是然后将 foo 更改为使用Col列标题的自定义类,to_hdf仍然可以正常工作,但随后read_hdf会引发断言错误:

更新

所以杰夫回答(a)“不支持”和(b)“如果你有元数据,那么将它写入属性”。

关于 (a) 的问题 1:我的列标题对象具有返回其属性等的方法。例如,我可以简单地执行 col_header.x (给出 5) col_header.y (给出 3) 等等。这是非常面向对象和 pythonic 的,而不是使用字符串来存储信息并且每次都必须解析它来检索信息。你如何建议我以一种很好的方式替换我当前的列标题对象(这也受支持)?

(顺便说一句,您可能会查看“x5y3z8”并认为分层索引有效,但事实并非如此,因为并非每个列标题都是“x#y#z#”。我可能有一列字符串“foo”,另一列整数的“bar5baz7”和浮点数的另一个“x5y3z8”。列标题不统一。)

关于(a)的问题2:当您说它不支持时,您是在具体谈论 to_hdf/read_hdf 不支持它,还是您实际上是在说 Pandas 一般不支持它?如果只是缺少 HDF5 支持,那么我可以切换到其他方式将 DataFrames 保存到磁盘并让它工作,对吗?你预见到未来会有什么问题吗?例如,这会与 to_pickle/read_pickle 中断吗?(我失去了表现,但必须放弃一些东西,对吧?)

关于(b)的问题3:“如果您有元数据,则将其写入属性”是什么意思。什么属性?一个简单的例子对我有很大帮助。我对熊猫很陌生。谢谢!

0 投票
2 回答
1196 浏览

c# - 如何将自定义类型的列表/数组写入 HDF5 文件?

我需要使用 C# 将一些数据写入 HDF5 文件。我没有绑定到任何特定的库,但我能找到的唯一可访问的库是 HDF5DotNet ( http://hdf5.net/ )。我有一个包含一些数据的简单类(只需使用默认值初始化即可轻松测试它,通常从传感器读取数据):

如何将数组或列表写入 HDF5 文件?HDF5 似乎太棒了,不能成为特例,但我找不到任何合适的文档。这是我尝试过的,下面的例子:

非常感谢对其他图书馆的任何帮助或指导!

0 投票
1 回答
1965 浏览

python - Most efficient way to get index of a table from HDF5

I have an HDF5 file containing pandas Series/DataFrame tables. I need to get (pandas) index of a table stored under a key in HDF, but not necessarily the whole table:

I can think of two (effectively the same) methods of getting the index:

However for a pandas Series of ~2000 rows this takes 0.6 sec:

Is there a way to get only index of a table in HDF?

0 投票
1 回答
3643 浏览

python - 将 hdf5 文件合并为单个数据集

我有很多 hdf5 文件,每个文件都有一个数据集。我想将它们组合成一个数据集,其中数据都在同一个卷中(每个文件都是一个图像,我想要一个大的延时图像)。

我编写了一个 python 脚本来将数据提取为一个 numpy 数组,存储它们,然后尝试将其写入一个新的 h5 文件。但是,这种方法行不通,因为合并的数据使用的内存超过了我拥有的 32 GB RAM。

我还尝试使用命令行工具 h5copy。

哪个有效,但它会在新文件中产生许多数据集,而不是让所有数据集串联。