【发布时间】:2022-03-02 19:07:25
【问题描述】:
在我的 s3 存储桶中,我有大约 30 个 csv 文件,分为 3 类。使用我的 lambda,我有兴趣只选择属于 1 类的 8 个。 我使用了下一个问题的回复:Reading multiple csv files from S3 bucket with boto3
所以我制定了下一个代码:
def read_prefix_to_df(prefix,s3_resource,bucket_name):
bucket = s3_resource.Bucket(bucket_name)
prefix_objs = bucket.objects.filter(Prefix=prefix)
prefix_df = []
for obj in prefix_objs:
key = obj.key
body = obj.get()['Body'].read()
df = pd.DataFrame(body)
prefix_df.append(df)
return prefix_df
地点:
bucket_name='my_bucket'
prefix='folder/data_overview_*.csv'
除了最后的日期外,所有 8 个文件的名称几乎相同,这就是为什么我使用 * 来选择与 data_overview_ 相关的所有文件 可惜返回的dataframe是空的,要不要改一下前缀?
【问题讨论】:
标签: python amazon-web-services amazon-s3 aws-lambda prefix