Python HDF5文件在覆盖数据帧后变大

Python HDF5文件在覆盖数据帧后变大,python,pandas,hdf5,pytables,Python,Pandas,Hdf5,Pytables,我试图覆盖hdf5文件中的熊猫数据帧。每次执行此操作时,文件大小都会增大,而存储的帧内容是相同的。如果我使用mode='w',我会丢失所有其他记录。 这是一个错误还是我遗漏了什么 import pandas df = pandas.read_csv('1.csv') for i in range(100): store = pandas.HDFStore('tmp.h5') store.put('TMP', df) store.close() tmp.h5的尺寸越来越大。请阅读本页

我试图覆盖hdf5文件中的熊猫数据帧。每次执行此操作时,文件大小都会增大,而存储的帧内容是相同的。如果我使用mode='w',我会丢失所有其他记录。 这是一个错误还是我遗漏了什么

import pandas
df = pandas.read_csv('1.csv')
for i in range(100):
  store = pandas.HDFStore('tmp.h5')
  store.put('TMP', df)
  store.close()

tmp.h5的尺寸越来越大。

请阅读本页底部的大警告


这就是HDF5的工作原理。

非常感谢!每次我关闭商店,我都会运行h5repack工具,这就解决了问题。大小没有增长。不是那么直观,可能它提供了一个取消删除选项,这就是为什么它一直在增长。我认为您必须使用Python的
子流程
调用,根据这个答案再次缩小它