将 DataFrame 设置为 Redis,然后将其取回后,Redis 返回一个字符串,我想不出将此 str 转换为 DataFrame 的方法。
我怎样才能适当地做这两个?
原文由 Alex Luya 发布,翻译遵循 CC BY-SA 4.0 许可协议
由于 Decimal
我的数据框中的对象,我无法使用 msgpack。相反,我像这样将 pickle 和 zlib 组合在一起,假设有一个数据 df
和一个本地 Redis 实例:
import pickle
import redis
import zlib
EXPIRATION_SECONDS = 600
r = redis.StrictRedis(host='localhost', port=6379, db=0)
# Set
r.setex("key", EXPIRATION_SECONDS, zlib.compress( pickle.dumps(df)))
# Get
rehydrated_df = pickle.loads(zlib.decompress(r.get("key")))
没有任何关于此的特定数据框。
注意事项
msgpack
的另一个答案更好 - 如果它适合你,请使用它原文由 Mark Chackerian 发布,翻译遵循 CC BY-SA 4.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1k 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
放:
得到: