我有一个my_file.h5
文件,可能包含HDF5格式的数据(PyTables)。我尝试使用pandas读取此文件:
import pandas as pd
store = pd.HDFStore('my_file.h5')
然后我尝试使用store
对象:
print store
结果我得到了:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/usr/lib/pymodules/python2.7/pandas/io/pytables.py", line 133, in __repr__
kind = v._v_attrs.pandas_type
File "/usr/lib/python2.7/dist-packages/tables/attributeset.py", line 302, in __getattr__
(name, self._v__nodePath)
AttributeError: Attribute 'pandas_type' does not exist in node: '/data'
有人知道我做错了什么吗?我的*.h5
不是我认为的那样(不是hdf5格式的数据),这可能是问题造成的吗?
答案 0 :(得分:3)
在/usr/lib/pymodules/python2.7/pandas/io/pytables.py
第133行
kind = v._v_attrs.pandas_type
在pytables.py
我看到
kind = getattr(n._v_attrs,'pandas_type',None)
使用getattr
,如果没有pandas_type
属性,则kind
设置为None
。我在猜我的Pandas版本
In [7]: import pandas as pd
In [8]: pd.__version__
Out[8]: '0.10.0'
比你的新。如果是,则修复方法是升级您的pandas
。
答案 1 :(得分:2)
我有一张h5桌子。使用独立于pandas的pytables制作并需要将其转换为元组列表然后将其导入df。这很好听,因为它允许我利用我的pytables索引在输入上运行“where”。这节省了我读取所有行。