表和 HDF5 python 包的问题

Posted

技术标签:

【中文标题】表和 HDF5 python 包的问题【英文标题】:Issue with tables and HDF5 python package 【发布时间】:2019-05-26 08:00:39 【问题描述】:

这个问题以前经常看到,但我找不到帮助我解决问题的答案。确实,我是 iTerm 的初学者,对 HDF5 了解不多。

这是我的代码:

import os
import pandas as pd


def load_hdf(filename):
    """
    Load the first key of an HDF file
    """
    hdf = pd.HDFStore(filename,mode = 'r')
    keys = hdf.keys()
    if not keys:
        hdf.close()
        return pd.DataFrame()
    data_df = hdf.get(keys[0])
    hdf.close()
    return data_df

当我这样做时: load_hdf(os.path.join(PATH, 'crm.hd5'))

我遇到了这个错误:

HDFStore 需要 PyTables,“没有名为 'tables' 的模块”问题导入

当我尝试时: pip 安装表

我有错误:


命令“python setup.py egg_info”在/private/var/folders/2s/sn3gzfwd6_37v0ggqd0n8qy00000gn/T/pip-install-1mx6wjd3/tables/中失败,错误代码为1


之前:


使用 Python 3.7.0(v3.7.0:1bf9cc5093,2018 年 6 月 26 日,23:26:24) * USE_PKGCONFIG: 假 .. 错误:: 找不到本地 HDF5 安装。 您可能需要通过设置HDF5_DIR 环境变量或使用--hdf5 命令行选项来明确说明可以找到本地HDF5 头文件和库的位置。


我的 Anaconda 中已经有了 Pytables、hdf5。我有 python 3.7

再一次,我知道这是一个已经出现的问题,但正如我所说,我没有发现任何可以帮助我解决计算机问题的方法。

非常感谢

【问题讨论】:

您确定在 Anaconda 发行版中安装了 Pytables 模块吗? (b / c错误消息另有说明)。我将 conda 包管理器与 Anaconda (miniconda) 一起使用。试试这个conda install pytables,看看你会得到什么。另外,请确保您在 anaconda 环境中运行。最后,您可能需要添加 import tables 以包含 Pytables 模块(不确定,因为我不使用 pandas)。 你是对的。但是,当我运行 pip install pytables(conda 命令在我的终端中不起作用,他们不知道 conda)时,出现以下错误:找不到满足 pytables 要求的版本(来自版本:)没有匹配的分布找到 pytables 有些不对劲。你确定你运行 Anaconda 发行版和环境吗?如果是,则应识别condaidle 命令(除了python 命令)。您是否在 Windows 的命令窗口中运行?如果是这样,你如何开始它?它应该引用conda activate.bat 脚本。启动python 后,您应该能够输入import tables 而不会出现错误。您需要在编写更多代码之前调试您的安装(或者可能卸载所有内容并重新开始)。 这确定 Anaconda 已安装。我每天都使用 spyder、jupyter ......但是,我不能使用 conda 命令,我也不知道为什么。总是,它告诉我找不到命令。另外,我有一个mac,而不是windows。抱歉,我不明白 conda activate.bat 我在 Windows 上运行; conda activate.bat 是启动/配置 conda 环境的命令。还有几个问题:您安装的是 FULL Anaconda 发行版还是 Miniconda 发行版? Anaconda 包含 100 个 Python 模块(无需其他安装步骤)。如果你这样做了,那么你的 Python 配置有问题。使用 Miniconda,您必须分别安装 pandas 和 pytables 模块。在此处查看安装详细信息:pandas.pydata.org/pandas-docs/stable/install.html 【参考方案1】:

我还安装了 pytables,但找不到解决方案。对我有用的是安装 HDF5 2.8.0rc1 的候选版本(如 here 所示)。好像panda安装的HDF5版本不完全兼容。 所以试试:

pip install h5py==2.8.0rc1

希望对你有帮助。

【讨论】:

我遇到了这个错误:distutils.errors.DistutilsError: Could not find suitable distribution for Requirement.parse('pkgconfig')Command "python setup.py egg_info" failed with error code 1 in $somepath。有谁知道如何解决这个问题?

以上是关于表和 HDF5 python 包的问题的主要内容,如果未能解决你的问题,请参考以下文章

在python中追加HDF5矩阵

结合 Java、Python、PyTables 和 HDF5 的简单有效的解决方案

Python、NetCDF4 和 HDF5

将 hdf5 文件加载到 python xarrays

保存到 hdf5 非常慢(Python 冻结)

将大型 Python 数组保存到磁盘以供以后重复使用 --- hdf5?还有啥方法?