将pandas dataframe写入s3 AW的parquet

2024-10-03 09:09:10 发布

您现在位置:Python中文网/ 问答频道 /正文

我想在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')

有人有类似的拼花地板吗? 谢谢


Tags: csvto数据代码clientnonedfs3
1条回答
网友
1楼 · 发布于 2024-10-03 09:09:10

假设您的数据帧名为df,使用以下代码首先将其转换为parquet格式并存储它。然后把这个拼花文件上传到s3上。在

import pyarrow as pa
import pyarrow.parquet as pq
import boto3

parquet_table = pa.Table.from_pandas(df)
pq.write_table(parquet_table, local_file_name)

s3 = boto3.client('s3',aws_access_key_id='XXX',aws_secret_access_key='XXX')
s3.upload_file(local_file_name, bucket_name, remote_file_name)

相关问题 更多 >