pd.HDFStore() 报错: ValueError: Can only append to Tables

背景

由于.csv文件占用空间较大,就将其转为.h5文件(压缩率更高);

Version.1

import pandas as pd

df = pd.read_csv('xxxxxx.csv')

with pd.HDFStore(‘xxxxx.h5', 'w') as store:
       store['data'] = df

优点:此种方法生成的.h5文件占用空间较小

缺点:但后续不可对已存在table其进行数据追加

例如:store.append('data', df, format='table', data_columns=True)

Version.2

import pandas as pd

df = pd.read_csv('xxxxxx.csv')

with pd.HDFStore(‘xxxxx.h5', 'w') as store:
       store.put('data', df, format='table', data_columns=True) 

# 指定format为 table

优点:后续可对已存在table其进行数据追加

缺点:此种方法生成的.h5文件占用空间较大一点

例如:

 

 执行后可成功追加

注:

保存.h5文件时,指定format不会使用默认格式保存,而是另存为frame_table。

使用它的好处是,我们可以稍后对数据做追加。

但是要权衡的是它的速度,它比默认格式慢。

参考:https://medium.com/@jerilkuriakose/using-hdf5-with-python-6c5242d08773

 

 

你可能感兴趣的:(pd.HDFStore() 报错: ValueError: Can only append to Tables)