🐍

CSVをインメモリで生成しS3にアップロードするメモ

2022/09/17に公開

CSVをインメモリで生成しS3にアップロードするメモ

import io 
import csv
import boto3

s3 = boto3.client('s3')
bucket = 'sample-bucket'
key = 'sample.csv'

buff = io.StringIO()
writer = csv.DictWriter(f, fieldnames=['A', 'B', 'C'])

# CSVに関連する処理
writer.writeheader()
writer.writerow({"A": "a", "B": "b", "C": "c"})

# S3にアップロード
s3.putObject(Bucket=bucket, Key=key, Body=buff.getvalue().encode()) # encodeの部分で、任意のエンコードを指定

Discussion