Zacznij terazZacznij za darmo

Otwieranie prywatnego pliku

Rada Miejska chce zobaczyć szerszy obraz sytuacji i poprosiła Sam o zsumowanie wszystkich zgłoszeń od początku 2019 roku. Aby to zrobić, Sam musi odczytać dzienne pliki CSV z bucketu 'gid-requests' i połączyć je w jeden zbiór. Pliki gid-requests są jednak prywatne – Sam ma do nich dostęp dzięki swojemu kluczowi, ale nie są publicznie dostępne.

W tym ćwiczeniu pomożesz Sam zobaczyć pełny obraz sytuacji: wczytasz te prywatne pliki do pandas i połączysz je w jeden DataFrame!

Sam zainicjalizowała już klienta S3 biblioteki boto3 i przypisała go do zmiennej s3. Wszystkie obiekty z bucketu gid-requests wylistowała w zmiennej response.

To ćwiczenie jest częścią kursu

Wprowadzenie do AWS Boto w Pythonie

Zobacz kurs

Instrukcje do ćwiczenia

  • Dla każdego pliku z response wczytaj obiekt z S3.
  • Załaduj StreamingBody obiektu do pandas i dodaj wynik do df_list.
  • Połącz wszystkie DataFramy za pomocą pandas.
  • Wyświetl podgląd powstałego DataFrame.

Interaktywne ćwiczenie praktyczne

Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.

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()
Edytuj i uruchom kod