如何在python中连接到S3并下载csv

时间:2017-05-05 13:43:44

标签: python csv dataframe amazon-s3 boto

我想连接到私人s3存储桶并在python中下载csv。 这该怎么做?我看到很多评论都在谈论boto3,所以这就是我尝试过的,但它失败了。

   from boto3.session import Session
   import pandas as pd
   import boto3

   ACCESS_KEY='A'
   SECRET_KEY='s/'

   session = Session(aws_access_key_id=ACCESS_KEY,
              aws_secret_access_key=SECRET_KEY)
   s3 = session.resource('s3')

   obj = s3.get_object(Bucket='sp-dps', Key='da-la/hp/hp_co/current')

   df = pd.read_csv(obj['Body'])

1 个答案:

答案 0 :(得分:0)

    import boto
    from boto.s3.key import Key

    keyId ="xxx" (AWS KEY)
    sKeyId="yyy" (AWS SECRET KEY ID)
    srcFileName="/abc/def/ghi/jkl/part_data_1"
    destFileName="s3_part_data_1.csv"
    bucketName="s-bucket"

    conn = boto.connect_s3(keyId,sKeyId)
    bucket = conn.get_bucket(bucketName)

    #Get the Key object of the given key, in the bucket
    k = Key(bucket,srcFileName)

    #Get the contents of the key into a file
    k.get_contents_to_filename(destFileName)

以上是正确的代码。