Otevření soukromého souboru
Městská rada chce vidět celkový trend a požádala Sama, aby sečetl všechny požadavky od začátku roku 2019. K tomu musí Sam přečíst denní CSV soubory z bucketu 'gid-requests' a spojit je dohromady. Soubory gid-requests jsou ale soukromé – Sam k nim má přístup přes svůj klíč, ostatní uživatelé však ne.
V tomto cvičení pomůžeš Samovi získat ucelený přehled: načteš tyto soukromé soubory do pandas a spojíš je do jednoho DataFrame!
Sam už inicializoval S3 klienta přes boto3 a přiřadil ho do proměnné s3. Všechny objekty v bucketu gid-requests jsou vypsané v proměnné response.
Toto cvičení je součástí kurzu
Introduction to AWS Boto in Python
Pokyny k cvičení
- Pro každý soubor v
responsenačti daný objekt z S3. - Načti
StreamingBodyobjektu dopandasa přidej ho dodf_list. - Spoj všechny DataFrames pomocí
pandas. - Zobraz náhled výsledného DataFrame.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
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()