我正在python中处理大量文件,需要直接在HDF5
中编写输出(每个输入文件一个数据帧)。
我想知道从我的脚本直接快速地将pandas
数据框写入HDF5
的最佳方法是什么?我不确定是否有像hdf5,hadoopy这样的python模块可以做到这一点。在这方面的任何帮助将不胜感激。
答案 0 :(得分:1)
很难为这个相当普遍的问题给出一个很好的答案。
目前尚不清楚如何使用(读取)HDF5文件 - 是否要有条件地选择数据(使用where
参数)?
你需要打开商店对象的所有内容:
store = pd.HDFStore('/path/to/filename.h5')
现在你可以写(或附加)到商店(我在这里使用blosc
压缩 - 它非常快速和高效),除此之外我会使用data_columns
参数以指定必须编入索引的列(因此,稍后当您阅读HDF5文件时,可以在where
参数中使用这些列):
for f in files:
#read or process each file in/into a separate `df`
store.append('df_identifier_AKA_key', df, data_columns=[list_of_indexed_cols], complevel=5, complib='blosc')
store.close()