Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/assembly/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
有没有办法在Python中逐行写入hdf5文件?_Python_Hdf5_Pytables_Hdfql - Fatal编程技术网

有没有办法在Python中逐行写入hdf5文件?

有没有办法在Python中逐行写入hdf5文件?,python,hdf5,pytables,hdfql,Python,Hdf5,Pytables,Hdfql,对于CSV文件,我们可以使用 writer = csv.writer(output) writer.writerow([a, b, c, d]) 写Hdf5文件有类似的东西吗 如果您没有绑定到特定的技术,请查看,因为这将减轻您在处理HDF5文件时对低级细节的依赖 要解决您的问题,您需要创建一个具有两个维度的数据集:第一个维度是可扩展的,第二个维度的大小为4(根据您的代码段,我假设您希望每行存储四个整数;此外,如果数据类型不是整数,请检查HDFql以获取所有数据类型的枚举,并相应地更改下面的代码

对于CSV文件,我们可以使用

writer = csv.writer(output)
writer.writerow([a, b, c, d])

写Hdf5文件有类似的东西吗

如果您没有绑定到特定的技术,请查看,因为这将减轻您在处理HDF5文件时对低级细节的依赖

要解决您的问题,您需要创建一个具有两个维度的数据集:第一个维度是可扩展的,第二个维度的大小为4(根据您的代码段,我假设您希望每行存储四个整数;此外,如果数据类型不是整数,请检查HDFql以获取所有数据类型的枚举,并相应地更改下面的代码段)

在Python中,要创建这样的数据集,请执行(在本例中称为
dset
):

然后,对于要写入的每一行,执行(请用适当的值替换
val0
val1
val2
val3
):

…最后,将dataset
dset
的第一个维度扩展如下:

HDFql.execute("ALTER DIMENSION dset TO +1")

重复代码片段第2行和第3行,重复次数与您要写的行相同。

这与您的另一个问题类似


使用pytables,您可以创建一个空表,引用定义每个数据类型的数据类型(在本例中为4个浮点)。然后使用
table\u object.append(row\u data)
添加一行或多行数据,其中
row\u data
可以用元组列表或numpy重新排列来定义。请参阅我为回答上述问题而发布的完整示例。

是的,您可以附加到表和arrays。您使用的是哪个Python HDF5模块?
h5py
pytables(表)
?'h5py或pytables(表)嗯,我还以为它们是一样的呢?我使用的数据有两行字符串和两行float32。我希望这些数据在熊猫中可读。有什么建议吗?
HDFql.execute("INSERT INTO dset(-1:::) VALUES(%d, %d, %d, %d)" % (val0, val1, val2, val3))
HDFql.execute("ALTER DIMENSION dset TO +1")