python - 有没有办法在 Python 中逐行编写 hdf5 文件?
问题描述
对于 CSV 文件,我们可以使用
writer = csv.writer(output)
writer.writerow([a, b, c, d])
写Hdf5文件有类似的东西吗?
解决方案
如果您不受特定技术的约束,请查看HDFql,因为这将在处理 HDF5 文件时减轻您的低级细节。
要解决您的问题,您需要创建一个具有两个维度的数据集:第一个是可扩展的,第二个的大小为四(根据您的代码片段,我假设您希望每行存储四个整数;另外,如果数据类型不是整数,请查看 HDFql参考手册以获取所有数据类型的枚举,并相应地更改下面的代码片段)。
在 Python 中,要创建这样的数据集,请执行(dset
在本例中调用):
HDFql.execute("CREATE DATASET dset AS INT(UNLIMITED, 4)")
然后,对于您要编写的每一行,执行(请用适当的值替换、和val0
)val1
:val2
val3
HDFql.execute("INSERT INTO dset(-1:::) VALUES(%d, %d, %d, %d)" % (val0, val1, val2, val3))
...最后,像这样扩展数据集的第一维dset
:
HDFql.execute("ALTER DIMENSION dset TO +1")
重复代码片段第 2 行和第 3 行的次数与您要写入的行一样多。
推荐阅读
- c++ - switch语句中的表达式不能是字符串吗?C++
- android - Android 通过 ACTION_GET_CONTENT 仅列出具有特定扩展名的文件
- asp.net-core - ASP.Net 核心。检测是否在启动时为 https 配置?
- javascript - 将 JS 函数与 for 循环同步
- java - 从 Firebaase 检索第二个项目时出错
- c# - CSHARP 每 X 秒运行一次,但直到 bool 为真
- javascript - 使用 d3.js 的螺旋文本
- r - 将数据帧从长格式转换为宽格式,R中有很多列
- python - 将 xarray.Dataset 的字典条目转换为 numpy 数组(用于 xy 坐标等高线绘图)
- sql - SQL,我如何创建一个飞行扇区路线