【发布时间】:2017-09-06 20:08:54
【问题描述】:
我可以轻松地从 s3 获取存储桶名称,但是当我从 s3 读取 csv 文件时,每次都会出错。
import boto3
import pandas as pd
s3 = boto3.client('s3',
aws_access_key_id='yyyyyyyy',
aws_secret_access_key='xxxxxxxxxxx')
# Call S3 to list current buckets
response = s3.list_buckets()
for bucket in response['Buckets']:
print bucket['Name']
output
s3-bucket-data
.
import pandas as pd
import StringIO
from boto.s3.connection import S3Connection
AWS_KEY = 'yyyyyyyyyy'
AWS_SECRET = 'xxxxxxxxxx'
aws_connection = S3Connection(AWS_KEY, AWS_SECRET)
bucket = aws_connection.get_bucket('s3-bucket-data')
fileName = "data.csv"
content = bucket.get_key(fileName).get_contents_as_string()
reader = pd.read_csv(StringIO.StringIO(content))
出现错误-
boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
如何从 s3 读取 csv?
【问题讨论】:
-
您遇到什么错误?没有看到很难提供帮助。
-
@AshishNitinPatil 那是在python3+中,我需要在python2.7中
-
@AChampion 更新了代码
标签: python python-2.7 csv pandas amazon-s3