缺少可选依赖项“表”。在 pandas 中 to_hdf

问题描述 投票:0回答:9
  • 以下代码给我错误。
import pandas as pd
df = pd.DataFrame({'a' : [1,2,3]})
df.to_hdf('temp.h5', key='df', mode='w')

一些版本信息。

  • python 3.7.4
  • 熊猫0.25.2
  • Windows10

PS:您可以在

repl
https://repl.it/.

中重现此内容

更新

  • 我尝试跟随跑步。
import tables

并收到此错误:

导入错误:无法加载任何['hdf5.dll','hdf5dll.dll'],请确保可以在系统路径中找到它。

  • 看起来 pandas 没有为此给出准确的信息。它只是说在实际存在时缺少依赖关系。

  • 如果有人知道如何解决这个问题。这会有帮助的。

python pandas pip hdf5 pytables
9个回答
35
投票

对于 conda 用户:

conda install pytables

31
投票
  • 问题在于
    tables
  • 当我使用以下命令使用 pip 将
    tables
    安装到本地用户目录中时,它不起作用。
pip install --user tables
  • 运行

    import tables
    将导致此错误。

    导入错误:无法加载任何['hdf5.dll','hdf5dll.dll'],请确保可以在系统路径中找到它

  • 对我有用的解决方案是卸载表。并将其安装到python的目录中。 (或者你的Python安装位置)。

    without --user option
    。您可能需要管理员/root 访问权限,具体取决于您的 python 位置。

  • 对我来说,我的Python路径是
    C:\Program Files\Python37-64\python.exe
    并且在
    c:\program files\python37-64\lib\site-packages\
    下安装对我有用。
  • 希望这有帮助。我不知道为什么安装在用户目录中不适用于表。如果有人能找到原因,请在这里发帖。

6
投票

我通过使用让它工作

conda install snappy

4
投票

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

pip install tables==3.6.1

3
投票

我使用以下命令成功解决了这个问题:

pip install --upgrade tables

希望对你有用!


2
投票

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

conda install -c conda-forge pytables

0
投票

我在使用

pip install -U -r requirements.txt
刷新现有 conda virtal env 时出现了这个问题。我解决了这个问题如下:

  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 包非常乏味,所以我只使用后者。


0
投票

在 Apple M2 处理器上使用 MacOS Ventura,上述内容对我不起作用。最终对我有用的是:

env HDF5_DIR=/opt/homebrew/opt/hdf5 python3 -m pip install tables

其中

/opt/homebrew/opt/hdf5
hdf5
安装位置


0
投票

奇怪的是,我发现 pandas 错误与 pytables 无关,这是最后产生的错误。 在堆栈跟踪的较高位置,我注意到有关未导入 Callables 的错误(输入 support)。

这解决了我的问题:

 pip install --upgrade typing_extensions
© www.soinside.com 2019 - 2024. All rights reserved.