两个python程序可以同时写入和读取相同的HDF5文件

时间:2016-01-22 08:39:52

标签: python pandas hdf5

我有2个python程序:

  

1)数据接收器:它是在龙卷风中写入的TCP服务器,每秒将向其发送大约3,000行数据。这是徒手:

def _on_data_rev(data_list):
    tickstore_file=r"d:\data\2016_01_11.h5"
    tempdf=pd.DataFrame(data_list)
    hdf_output = pd.HDFStore(tickstore_file, complib='blosc')
    hdf_output['_'+str(int(time.time()))]=tempdf
    hdf_output.flush()

数据来得非常快,所以这个程序只能保存工作,但没有别的。

  

2)数据分析:程序2将分析同一文件中的最新数据每秒

我可以同时阅读HDF5文件吗?这个HDF5档案会破产吗?

1 个答案:

答案 0 :(得分:1)

您正在寻找的是HDF5的Single Writer Multiple Reader(SWMR)功能。

SWMR在new版本中列为1.10,其上有documentation

它也在h5py版本2.5.0。

至于大熊猫的支持,我不太确定,因为我不使用它。