我正在尝试将 pandas 数据框作为 pickle 文件写入 AWS 中的 s3 存储桶中。我知道我可以将数据帧 new_df
作为 csv 写入 s3 存储桶,如下所示:
bucket='mybucket'
key='path'
csv_buffer = StringIO()
s3_resource = boto3.resource('s3')
new_df.to_csv(csv_buffer, index=False)
s3_resource.Object(bucket,path).put(Body=csv_buffer.getvalue())
我尝试使用与上面相同的代码 to_pickle()
但没有成功。
原文由 himi64 发布,翻译遵循 CC BY-SA 4.0 许可协议
我找到了解决方案,需要将 BytesIO 调用到 pickle 文件的缓冲区而不是 StringIO(用于 CSV 文件)。