Ouvrir un fichier privé
Le Conseil municipal souhaite visualiser la tendance globale et a demandé à Sam de totaliser toutes les demandes depuis le début de 2019. Pour cela, Sam doit lire les CSV quotidiens dans le compartiment 'gid-requests' et les concaténer. Cependant, les fichiers gid-requests sont privés. Elle y a accès via sa clé, mais le monde extérieur ne peut pas y accéder.
Dans cet exercice, vous allez aider Sam à avoir une vue d’ensemble en lisant ces fichiers privés dans pandas et en les concaténant en un seul DataFrame !
Elle a déjà initialisé le client S3 de boto3 et l’a affecté à la variable s3. Elle a listé tous les objets de gid-requests dans la variable response.
Cet exercice fait partie du cours
Introduction à AWS Boto en Python
Instructions
- Pour chaque fichier dans
response, chargez l’objet depuis S3. - Chargez le
StreamingBodyde l’objet danspandas, puis ajoutez-le àdf_list. - Concaténez tous les DataFrames avec
pandas. - Affichez un aperçu du DataFrame obtenu.
Exercice interactif pratique
Essayez cet exercice en complétant cet exemple de code.
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()