Lesen Sie csv von Amazon s3 mit python2.7
Kann ich den Eimer Namen von s3, aber wenn ich lese die csv-Datei aus s3, es gibt Fehler jedes mal.
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))
immer Fehler-
boto.exception.S3ResponseError: S3ResponseError: 400 Bad Request
Wie lese ich die csv aus dem s3?
- Welche Fehler sind Sie immer? Ohne zu sehen, dass es schwer ist zu helfen.
- Möglich, Duplikat der Lesen einer Datei von einem privat-S3-bucket ein pandas dataframe
- Das war in Python ist3+, ich brauche in python2.7
- aktualisiert den code
Du musst angemeldet sein, um einen Kommentar abzugeben.
können Sie
s3fs
Pakets3fs auch unterstützt aws-profile im credential-Dateien.
Hier ein Beispiel (du musst Sie nicht teilen es, aber ich hatte gerade dieses Beispiel praktisch),
boto
ist onething ich Liebe es, wenn es um Umgang mit Daten auf S3 mit python..installieren
boto
mitpip install boto
Habe ich das Problem mit ein paar AWS-Regionen. Ich erstellte einen Eimer in der "us-east-1" und den folgenden code geklappt:
Versuchen, die Schaffung einen neuen Eimer in der us-east-1 und sehen, ob es funktioniert.
Versuchen Sie Folgendes: