Deschiderea unui fișier privat
Consiliul Orașului vrea să vadă tendința de ansamblu și i-a cerut lui Sam să totalizeze toate solicitările din 2019 până în prezent. Pentru a face asta, Sam trebuie să citească fișierele CSV zilnice din bucket-ul 'gid-requests' și să le concateneze. Totuși, fișierele gid-requests sunt private. Sam le poate accesa cu cheia ei, însă nu sunt disponibile publicului.
În acest exercițiu, o vei ajuta pe Sam să vadă imaginea de ansamblu, citind aceste fișiere private în pandas și concatenându-le într-un singur DataFrame!
Ea a inițializat deja clientul S3 boto3 și l-a atribuit variabilei s3. De asemenea, a listat toate obiectele din gid-requests în variabila response.
Acest exercițiu face parte din cursul
Introducere în AWS Boto în Python
Instrucțiuni pentru exercițiu
- Pentru fiecare fișier din
response, încarcă obiectul din S3. - Încarcă
StreamingBody-ul obiectului înpandasși adaugă-l ladf_list. - Concatenează toate DataFrame-urile cu
pandas. - Previzualizează DataFrame-ul rezultat.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
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()