gpt4 book ai didi

python - 使用ptrepack回收hdf5文件中删除的节点

转载 作者:太空宇宙 更新时间:2023-11-04 00:50:46 26 4
gpt4 key购买 nike

我使用 pandas 中的 Pytables 集成将一堆 pandas DataFrame 写入了一个 h5 文件。从那时起,我删除了 h5 文件中的一些组,我想重新打包它以回收空间。根据我的发现,我知道我需要使用 Pytables ptrepack 工具。但是我无法让它工作。如果我在脚本中搞砸了,或者我是否真的遇到了 pytables 中的错误,有人可以告诉我吗?如果我把它搞砸了,你能给我一个导入和调用 ptrepack 的例子来简单地重新打包一个 h5 文件以节省空间吗?

这是我的脚本和我得到的错误:

error when running ptrepack

当我查看 anaconda 中 pytables 文件夹中的 ptrepack.py 脚本时,我还看到我应该能够向它传递一个帮助标志……但这也不起作用。这是我尝试让帮助标志工作时遇到的错误

help flag error

目前我正在使用 Windows 10 机器具有以下软件包版本:
python 3.5.1
pytables: 3.2.2
Pandas :0.18.0

谢谢!

最佳答案

好的,首先,要在命令提示符中显示帮助对话框,您必须执行 ptrepack -hptrepack --help我没有设法让脚本在 python 中工作,因为它似乎是专门为命令行制作的——但是我确实发现了这个关于这个主题的非常有用的笔记本([Reclaiming HDF5 Space][1]),它有以下内容解决方案

from subprocess import call
outfilename = 'out.h5'
command = ["ptrepack", "-o", "--chunkshape=auto", "--propindexes", filename, outfilename]
call(command)

请注意,这实际上只是启动一个调用 repack 函数的子进程。[1]: https://github.com/jackdotwa/python-concepts/blob/master/hdf5/reclaiming_space.ipynb “回收 HDF5 空间”

关于python - 使用ptrepack回收hdf5文件中删除的节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264599/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com