亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將數據幀上傳到 s3 python

將數據幀上傳到 s3 python

蝴蝶不菲 2023-06-13 17:21:35
我正在嘗試像下面這樣劃分數據框:from io import StringIOimport pandas as pddata = """A,B,C87jg,28,3012h372,28,3011kj87,27,30112yh8,54,3010802h,53,30105d8b,52,3010"""df = pd.read_csv(StringIO(data), sep=',')for key, group in df.groupby(['C','B']):    group.to_csv(f'df_{key}.csv', index=False)這會將按數據幀分組的結果導出到本地機器。有沒有辦法執行此操作并將這些多個拆分 csv 上傳到 s3(類似于 boto3 的 put_object)
查看完整描述

2 回答

?
人到中年有點甜

TA貢獻1895條經驗 獲得超7個贊

您也可以使用必須安裝的s3fs ??梢允褂?完成安裝pip,例如:

pip install s3fs

根據您的代碼驗證的示例:


import os


from io import StringIO

import pandas as pd

import s3fs


# I did not use my default aws profile

# so had to provide key and secret. If you use

# the default aws profile, providing `key`

# and `secret` should not be required

fs = s3fs.S3FileSystem(

? ? ? ? anon=False,

? ? ? ? key='<access_key>',

? ? ? ? secret='<secret_key>')


data = """?

A,B,C

87jg,28,3012

h372,28,3011

kj87,27,3011

2yh8,54,3010

802h,53,3010

5d8b,52,3010

"""

df = pd.read_csv(StringIO(data), sep=',')


for key, group in df.groupby(['C','B']):

? ? group.to_csv(fs.open(f's3://<bucket-name>/df_{key[0]}-M{key[1]}.csv', 'w'), index=False)

代碼正確上傳文件:

http://img2.sycdn.imooc.com/6488353c00016f2102900301.jpg

查看完整回答
反對 回復 2023-06-13
?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

from io import StringIO

import pandas as pd

import boto3



data = """

A,B,C

87jg,28,3012

h372,28,3011

kj87,27,3011

2yh8,54,3010

802h,53,3010

5d8b,52,3010

"""

df = pd.read_csv(StringIO(data), sep=',')


client = boto3.client('s3')

for key, group in df.groupby(['C', 'B']):

    group.to_csv(f'df_{key}.csv', index=False)

    client.upload_file(f'df_{key}.csv', 'my-another-test-bucket-2',

                       f'df_{key[0]}-M{key[1]}.csv')

S3 桶

http://img1.sycdn.imooc.com//6488354900019e8806510497.jpg

查看完整回答
反對 回復 2023-06-13
  • 2 回答
  • 0 關注
  • 167 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號