db = pd.HDFStore("database.h5")
df = pd.DataFrame(np.random.randn(8, 3), columns=['Col1', 'Col2', 'Col3'])
db.put("A1", df, format = 'table', data_columns = True)
db["A1"]
Col1 Col2 Col3
0 1.036201 -0.395399 -0.741962
1 0.233349 -0.733992 0.754594
db.close()
现在我想添加另一个不相关的数据框(稍后在另一个文件中,所以我现在必须关闭数据库):
db = pd.read_hdf("database.h5")
db.put("A3", newdf, format='table', data_columns=True)
我收到错误'DataFrame' object has no attribute 'put'
,我发现db实际上是一个数据帧:
db
Col1 Col2 Col3
0 1.036201 -0.395399 -0.741962
1 0.233349 -0.733992 0.75459
答案 0 :(得分:1)
默认模式为a
ppend,因此您只需以相同的方式打开文件,并根据需要添加更多dataFrame:
db = pd.HDFStore("database.h5", 'a') # open existing store
db.put("A3", newdf, format='table', data_columns=True)
db.close()