缺少可选依赖项 'tables'。在 pandas to_hdf

Missing optional dependency 'tables'. In pandas to_hdf

import pandas as pd
df = pd.DataFrame({'a' : [1,2,3]})
df.to_hdf('temp.h5', key='df', mode='w')

一些版本信息。

  • python 3.7.4
  • pandas 0.25.2
  • windows10

PS:您可以在 repl https://repl.it/ 中重现此内容。

更新:

import tables

并收到此错误:

ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path.

  • 问题出在 tables
  • 当我使用 pip 安装 tables 到本地用户目录时,使用以下命令它不起作用。
pip install --user tables
  • 运行 import tables 将导致此错误。

    ImportError: Could not load any of ['hdf5.dll', 'hdf5dll.dll'], please ensure that it can be found in the system path

  • 对我有用的解决方案是卸载表。并将其安装到 python 的目录中。 (或安装 python 的位置)。 without --user option。根据您 python.

  • 的位置,您可能需要 admin/root 访问权限
  • 对我来说,我的 python 路径是 C:\Program Files\Python37-64\python.exe 并且在 c:\program files\python37-64\lib\site-packages\ 下安装对我有用。
  • 希望这对您有所帮助。我不知道为什么在用户目录中安装不适用于表。如果有人能找到原因,请在此处 post。

conda 用户:

conda install pytables

我使用

让它工作
conda install snappy

以上解决方案对我不起作用。可能是因为我使用conda-forge通道构建了个人环境,所以我成功了:

conda install -c conda-forge pytables

我在使用 pip install -U -r requirements.txt 刷新现有的 conda 虚拟环境时出现了这个问题。我按如下方式解决了这个问题:

  1. conda env remove -n <env> # remove your virtual env.
  2. conda create -n <env> python==3.8 # create your virtual env again.
  3. pip install -U -r requirements.txt

混合维护 conda 和 pip 包非常乏味,所以我只使用后者。

我使用表 3.6.1 解决了依赖关系

pip install tables==3.6.1