要像将内存值中的字典数据直接写入S3存储桶,而不是直接写入文件,然后再上传,可以使用以下步骤:
import boto3
import csv
import io
s3 = boto3.client('s3')
data = [{'name': 'John', 'age': 30}, {'name': 'Jane', 'age': 25}]
csv_data = io.StringIO()
csv_writer = csv.DictWriter(csv_data, fieldnames=data[0].keys())
csv_writer.writeheader()
csv_writer.writerows(data)
bucket_name = 'your_bucket_name'
object_key = 'your_object_key.csv'
s3.put_object(Body=csv_data.getvalue(), Bucket=bucket_name, Key=object_key)
在上述代码中,需要将your_bucket_name
替换为实际的S3存储桶名称,将your_object_key.csv
替换为实际的对象键值。
这样,字典数据就会以CSV格式直接写入S3存储桶中,而不需要先写入文件再上传。
领取专属 10元无门槛券
手把手带您无忧上云