使用Python从S3下载CSV文件

时间:2020-02-10 06:46:43

标签: python amazon-s3

import os
import boto3
import json
from datetime import datetime,timedelta

s3 = boto3.client('s3', aws_access_key_id="<access_key>",
                    aws_secret_access_key="<secret_key>")
##my_bucket = s3.Bucket('grn-amazon')
filename_withdate=(datetime.now()-timedelta(days=6)).strftime ("%d%b%Y")
filename_withdate = filename_withdate+'_Consolidated.csv'
Source_filename = filename_withdate
dest_filename = filename_withdate
try:
##    s3.download_file('grn-amazon',complt_filename,'01FEB2020_Consolidated.csv')
    s3.download_file('grn-amazon',Source_filename,dest_filename)
    print("Download Completed")
except botocore.exception.ClientErrors as e:
    if e.response['Error']['Code'] == '404':
        print('The Object does not exists!!')
    else:
        raise

运行上述代码后出现以下错误。请提供帮助。在S3属性中将源文件和目标文件名作为参数传递...

在处理上述异常期间,发生了另一个异常:

回溯(最近通话最近): 文件“ C:\ Cloudtail \ CT \ SQL Scripts \ python \ GRN_S3_dwnld.py”,第17行,在 除了botocore.exception.ClientErrors如e: NameError:名称“ botocore”未定义

2 个答案:

答案 0 :(得分:1)

找出一个错误,不是boto3错误。大写字母的文件名如01FEB2020,我的源文件的文件名如01Feb2020。

使用 upper() 功能

更改截止日期
3

感谢您的宝贵时间和宝贵的反馈。

答案 1 :(得分:0)

将此添加到Python程序的顶部:

from botocore.exceptions import ClientError

更改

except botocore.exception.ClientErrors as e:

进入:

except botocore.exception.ClientError as e:
相关问题