ComeçarComece de graça

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

Ver curso

Instruções do exercício

  • Para cada arquivo em response, carregue o objeto do S3.
  • Carregue o StreamingBody do objeto no pandas e acrescente a df_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()
Editar e executar o código