Есть ли способ объединить префиксы нескольких секционированных каталогов (по дням), содержащие файлы csv, в pandas фрейм данных через boto3 и pandas? Спасибо.
# for example reading all prefixes in a s3 bucket folder like this:
s3://my-bucket/datasets/csv-data/date="2020-01-01"/*.csv
s3://my-bucket/datasets/csv-data/date="2020-01-02"/*.csv
s3://my-bucket/datasets/csv-data/date="2020-01-03"/*.csv
s3://my-bucket/datasets/csv-data/date="2020-01-04"/*.csv
s3://my-bucket/datasets/csv-data/date="2020-01-05"/*.csv
s3://my-bucket/datasets/csv-data/date="2020-01-06"/*.csv
Текущий код, который работает для 1 префикса
import boto3
import pandas as pd
s3 = boto3.client("s3",\
region_name=region_name,\
aws_access_key_id=aws_access_key_id,\
aws_secret_access_key=aws_secret_access_key)
response = s3.list_objects(Bucket="my-bucket",\
Prefix="datasets/csv-data/date=2020-01-06/")
df_list = []
for file in response["Contents"]:
obj = s3.get_object(Bucket="my-bucket", Key=file["Key"])
obj_df = pd.read_csv(obj["Body"])
df_list.append(obj_df)
df = pd.concat(df_list)