我已经使用Pandas中的Pytables集成将一堆pandas DataFrames写入了h5文件。从那时起,我已经删除了h5文件中的某些组,并且我想重新打包以便回收空间。根据发现的信息,我知道我需要使用Pytables ptrepack
工具。但是我无法正常工作。有人可以让我知道我是在脚本中弄乱了东西还是在pytables中遇到错误?如果我搞砸了,可以给我一个导入示例,然后调用ptrepack只是重新打包h5文件以节省空间吗?
这是我的脚本和出现的错误:
当我查看anaconda的pytables文件夹中的ptrepack.py脚本时,我还看到我应该能够将帮助标志传递给它。.但这还是行不通的。这是我尝试获取帮助标志时遇到的错误
目前,我正在Windows 10计算机上工作
具有以下软件包版本:
python 3.5.1
pytables:3.2.2
熊猫:0.18.0
谢谢!
最佳答案
好的,首先,要使帮助对话框显示在命令提示符下,您必须执行ptrepack -h
或ptrepack --help
我没有设法使脚本在python中工作,因为它似乎是专门为命令行制作的-但是我确实发现了关于主题(Reclaiming HDF5 Space)的这个非常有用的笔记本,它具有以下解决方案
from subprocess import call
outfilename = 'out.h5'
command = ["ptrepack", "-o", "--chunkshape=auto", "--propindexes", filename, outfilename]
请注意,这实际上只是启动了一个子程序,该子程序调用了repack函数。
关于python - 使用ptrepack回收hdf5文件中已删除的节点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/37264599/