Объединить несколько разделенных каталогов с префиксом S3 в DF через boto3 и pandas? - PullRequest
1 голос
/ 06 января 2020

Есть ли способ объединить префиксы нескольких секционированных каталогов (по дням), содержащие файлы 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)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...