我想以拼图格式在我的s3存储桶中写入我的数据帧。我知道如何以csv格式编写数据帧。但是我不知道怎么用拼花的格式写。下面是csv格式的代码(我没有显示字段ServerSideEncryption和SSEKMSKeyId,但我在实际代码中使用了它们):
csv_to_write = df.to_csv(None).encode()
s3_client.put_object(Bucket=bucket_name,Key='data.csv', Body=csv_to_write,
ServerSideEncryption='XXXXX', SSEKMSKeyId='XXXXXXXX')
有没有同样的拼花地板?谢谢
发布于 2020-01-13 17:28:07
对于python 3.6+,AWS有一个名为
aws-data-wrangler
这有助于Pandas/S3/Parquet之间的集成
安装do;
pip install awswrangler
如果你想把你的pandas数据帧作为一个拼图文件写到S3上就行了;
import awswrangler as wr
wr.s3.to_parquet(
dataframe=df,
path="s3://my-bucket/key/my-file.parquet"
)
如果你想添加加密,做;
import awswrangler as wr
extra_args = {
"ServerSideEncryption": "aws:kms",
"SSEKMSKeyId": "YOUR_KMS_KEY_ARN"
}
sess = wr.Session(s3_additional_kwargs=extra_args)
sess.s3.to_parquet(
dataframe=df,
path="s3://my-bucket/key/my-file.parquet"
)
https://stackoverflow.com/questions/59076204
复制相似问题