繁体   English   中英

尝试直接在 S3 中创建 CSV 文件并在 CSV 中写入数据

[英]Trying to create CSV file directly in S3 and write data in CSV

大家好,我正在尝试在 S3 中创建 csv 并在 csv 中提供数据,但无法存档。

下面是代码

import boto3
import csv
import time

date=time.strftime("%d-%m-%Y")

BUCKET_NAME = 'bucketname'
PREFIX = '/'
filename = f'result{date}.csv'

sts_s3 = boto3.resource('s3', region_name='us-west-2', endpoint_url='https://sts.us-west-2.amazonaws.com')
obj = sts_s3.Object(BUCKET_NAME, filename)


with open(f"s3://{BUCKET_NAME}{PREFIX}{filename}", 'w', newline='') as f:
    column = ['1111','2222', '3333']
    thewriter = csv.DictWriter(f, fieldnames=column)
    writer = csv.writer(f)
    thewriter.writeheader()
    thewriter.writerow({'1111': 'aaa','2222':'bbb', '3333':'ccc'})

这是一个使用 s3fs 和 pandas 的示例。 使用我创建的熊猫,处理数据并使用 s3fs 上传到 s3.----> pip install pandas 和 pip install s3fs

import s3fs
import pandas as pd

ACCESS_KEY='XXXXXXXXXXXXXXXXXXX'
SECRET_KEY='YYYYYYYYYYYYYYYYYYYYYY'

data = [['tom', 10], ['nick', 15], ['juli', 14]]
df = pd.DataFrame(data, columns = ['Name', 'Age'])

bytes_to_write = df.to_csv(None).encode()
fs = s3fs.S3FileSystem(key=ACCESS_KEY, secret=SECRET_KEY)
with fs.open('s3://mybuckets//file.csv', 'wb') as f:
    f.write(bytes_to_write)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM