簡體   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