使用python在myBucket中上传CSV并在S3 AWS中读取文件

TB.*_*B.M 5 python csv amazon-s3 bucket boto

如何将CSV文件从本地上传到我的S3存储桶并读取该scv文件.请帮帮我.

bucket = aws_connection.get_bucket('mybucket')
#with this i am able to create bucket
folders = bucket.list("","/")
  for folder in folders:
  print folder.name
Run Code Online (Sandbox Code Playgroud)

现在想将csv上传到我的csv并读取该文件.

Fré*_*nri 10

所以你正在使用boto2 - 我建议移动到boto3.请看下面的一些简单示例:

boto2

上传示例

import boto 
from boto.s3.key import Key
bucket = aws_connection.get_bucket('mybucket')
k = Key(bucket)
k.key = 'myfile'
k.set_contents_from_filename('/tmp/hello.txt')
Run Code Online (Sandbox Code Playgroud)

下载示例

import boto
from boto.s3.key import Key

bucket = aws_connection.get_bucket('mybucket')
k = Key(bucket)
k.key = 'myfile'
k. get_contents_to_filename('/tmp/hello.txt')
Run Code Online (Sandbox Code Playgroud)

boto3

上传示例

import boto3
s3 = boto3.resource('s3')
bucket = s3.Bucket('mybucket')
s3.Object('mybucket', 'hello.txt').put(Body=open('/tmp/hello.txt', 'rb'))
Run Code Online (Sandbox Code Playgroud)

或者干脆

import boto3
s3 = boto3.resource('s3')
s3.meta.client.upload_file('/tmp/hello.txt', 'mybucket', 'hello.txt')
Run Code Online (Sandbox Code Playgroud)

下载示例

import boto3
s3 = boto3.resource('s3')
s3.meta.client.download_file('mybucket', 'hello.txt', '/tmp/hello.txt')
print(open('/tmp/hello.txt').read())
Run Code Online (Sandbox Code Playgroud)