Abrindo um arquivo privado
A Câmara Municipal quer observar a tendência geral e pediu à Sam para somar todas as solicitações desde o início de 2019. Para isso, Sam precisa ler os CSVs diários do bucket 'gid-requests' e concatená-los. Porém, os arquivos de gid-requests são privados. Ela tem acesso por meio da sua chave, mas o público não pode acessá-los.
Neste exercício, você vai ajudar a Sam a enxergar o panorama completo lendo esses arquivos privados no pandas e concatenando tudo em um único DataFrame!
Ela já inicializou o cliente S3 do boto3 e o atribuiu à variável s3. Ela listou todos os objetos em gid-requests na variável response.
Este exercício faz parte do curso
Introdução ao AWS Boto em Python
Instruções do exercício
- Para cada arquivo em
response, carregue o objeto do S3. - Carregue o
StreamingBodydo objeto nopandase acrescente adf_list. - Concatene todos os DataFrames com
pandas. - Faça uma prévia do DataFrame resultante.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
df_list = [ ]
for file in response['Contents']:
# For each file in response load the object from S3
obj = s3.____(____='gid-requests', ____=file['Key'])
# Load the object's StreamingBody with pandas
obj_df = pd.read_csv(obj['____'])
# Append the resulting DataFrame to list
df_list.append(obj_df)
# Concat all the DataFrames with pandas
df = pd.concat(df_list)
# Preview the resulting DataFrame
df.head()