运行以下代码:
pd.read_hdf('myfile.h5')
会出现以下错误回溯信息:
[[...一些更长的回溯信息]]
~/.local/lib/python3.6/site-packages/pandas/io/pytables.py in read_array(self, key, start, stop) 2487 2488 if isinstance(node, tables.VLArray): -> 2489 ret = node[0][start:stop] 2490 else: 2491 dtype = getattr(attrs, 'value_type', None)
~/.local/lib/python3.6/site-packages/tables/vlarray.py in getitem(self, key)
~/.local/lib/python3.6/site-packages/tables/vlarray.py in read(self, start, stop, step)
tables/hdf5extension.pyx in tables.hdf5extension.VLArray._read_array()
ValueError: cannot set WRITEABLE flag to True of this array
不知道出了什么问题。我已经尝试重新安装了 tables
, pandas
等所有东西,但它仍然无法读取。
myfile.h5
并查看数据吗?或者,你尝试过使用来自 HDF Group 的命令行实用程序h5dump
读取文件吗?这是另一种查看文件内容的方式。你也可以尝试使用pytables
命令行工具ptdump
。这些工具可能有助于确定问题所在。 - kcw78h5py
打开它时,我得到了键['pd']。它有4个键:<KeysViewHDF5 ['axis0','axis1','block0_items','block0_values']>。 - Landmasterptdump
将组结构和数据集格式转储到命令窗口(或重定向到文本文件)。如果没有错误,那就是一个好的开始。你是否看到了一些列有数据的VLArrays
?h5py
是访问 HDF5 数据的不同方法。它使用类似字典的方法,其中键是您的顶级节点名称,值是对象(组或数据集)。这样做的目的是验证有效的HDF5
文件,以便您可以专注于您的代码。 - kcw78