使用 Python 和 Boto3 从 S3 读取多个 CSV 文件

Reading multiple CSV files from S3 using Python with Boto3

我能够在 python 中使用 boto3 从 S3 存储桶中读取多个 csv 文件,并最终将这些文件合并到 pandas.However 中的单个数据框中,在某些文件夹中有一些空文件导致错误“没有要从文件中解析的列”。我们可以跳过下面代码中的那些空文件吗?

s3 = boto3.resource('s3')
bucket = s3.Bucket('testbucket')

prefix_objs = bucket.objects.filter(Prefix="extracted/abc")

    prefix_df = []

for obj in prefix_objs:
    key = obj.key
    body = obj.get()['Body'].read()
    temp = pd.read_csv(io.BytesIO(body),header=None, encoding='utf8',sep=',')        
    prefix_df.append(temp)

我用过这个答案 [

s3 = boto3.resource('s3')
bucket = s3.Bucket('testbucket')

prefix_objs = bucket.objects.filter(Prefix="extracted/abc")

prefix_df = []

for obj in prefix_objs:
    try:
        key = obj.key
        body = obj.get()['Body'].read()
        temp = pd.read_csv(io.BytesIO(body),header=None, encoding='utf8',sep=',')        
        prefix_df.append(temp)
    except:
        continue