Python 通过append–;在pandas.HDFStore中增量存储可变长度字符串;最佳方法?
(参考古老但相关的问题:) 若一个人事先不知道某些要持久化的字符串在某一点会持续多长时间;在这种情况下,最好的存储方法是什么Python 通过append–;在pandas.HDFStore中增量存储可变长度字符串;最佳方法?,python,pandas,pytables,hdfstore,Python,Pandas,Pytables,Hdfstore,(参考古老但相关的问题:) 若一个人事先不知道某些要持久化的字符串在某一点会持续多长时间;在这种情况下,最好的存储方法是什么 使用pd.HDFStore(…).append(…)迭代追加,并捕获待追加数据帧中的字符串长度超过列宽时发生的ValueError。如果出现这种错误,请删除整个表,将新数据追加到RAM中,然后再次保留整个表 预先设置足够的列宽。实现这一点的方法似乎是在第一个append/put中包含minu itemsize。但我的问题是,它迫使我将这些列设置为数据列,从而降低了系统的效
def append_sth(df: pd.DataFrame):
try:
s.append("some_key", df, format="table")
except ValueError:
whole_df = s.get("some_key")
s.remove("some_key")
whole_df = whole_df.append(df)
s.put("some_key", whole_df, format="table")