2016-05-16 128 views
2

我已經使用熊貓中的Pytables集成,將一堆熊貓DataFrames寫入h5文件。從那以後,我刪除了h5文件中的一些組,並且我想重新包裝它以回收空間。從我發現我知道我需要使用Pytables ptrepack工具。但是我無法讓它工作。如果我在腳本中弄亂某些東西,或者如果我真的在pytables中運行一個錯誤,有人可以告訴我嗎?如果我搞砸了,你可以給我一個導入的例子,並調用ptrepack簡單地重新包裝一個h5文件,以節省空間?使用ptrepack恢復hdf5文件中刪除的節點

這裏是我的腳本和錯誤,我得到:

error when running ptrepack

當我看到在森蚺我也看到了,我應該能夠通過幫助標誌pytables文件夾中的ptrepack.py腳本它..但這也不起作用。這是我得到的錯誤,當我嘗試獲得幫助標誌工作

help flag error

目前我工作在Windows 10機器 與下列軟件包版本:
蟒蛇3.5.1
pytables: 3.2.2
熊貓:0.18.0

謝謝!

回答

2

好吧,首先,獲得幫助對話框中,你需要做的命令提示符下或者顯示ptrepack -hptrepack --help 我沒能拿到劇本在python工作,因爲它似乎已經做出專門爲命令線 - ,但我卻發現其上有以下解決方案

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

注意主題(Reclaiming HDF5 Space)這個非常有幫助的筆記本電腦,這基本上只是開始它調用重新包裝功能的子進程。