Data ophalen uit meerdere werkbladen

Gestroomlijnde data-inname met pandas

Amany Mahfouz

Instructor

Bladen kiezen om te laden

  • read_excel() laadt standaard het eerste werkblad
  • Gebruik het keyword-argument sheet_name voor andere bladen
  • Geef bladen op via naam en/of (nul-geïndexeerd) positienummer
  • Geef een lijst met namen/nummers om meerdere bladen tegelijk te laden
  • Alle argumenten voor read_excel() gelden voor alle geladen bladen
Gestroomlijnde data-inname met pandas

Bladen kiezen om te laden

Schermafbeelding van een spreadsheetprogramma met tabs voor twee werkbladen

Gestroomlijnde data-inname met pandas

Geselecteerde bladen laden

# Haal het tweede blad op via positie-index
survey_data_sheet2 = pd.read_excel('fcc_survey.xlsx',
                                   sheet_name=1)

# Haal het tweede blad op via naam survey_data_2017 = pd.read_excel('fcc_survey.xlsx', sheet_name='2017')
print(survey_data_sheet2.equals(survey_data_2017))
True
Gestroomlijnde data-inname met pandas

Alle bladen laden

  • sheet_name=None meegeven aan read_excel() leest alle bladen in een werkmap
survey_responses = pd.read_excel("fcc_survey.xlsx", sheet_name=None)

print(type(survey_responses))
<class 'collections.OrderedDict'>
for key, value in survey_responses.items():
    print(key, type(value))
2016 <class 'pandas.core.frame.DataFrame'>
2017 <class 'pandas.core.frame.DataFrame'>
Gestroomlijnde data-inname met pandas

Alles samenbrengen

# Maak een lege dataframe voor alle geladen bladen
all_responses = pd.DataFrame()

# Itereer door dataframes in de dictionary for sheet_name, frame in survey_responses.items(): # Voeg een kolom toe om het jaar te markeren frame["Year"] = sheet_name
# Voeg de dataframe toe aan all_responses all_responses = pd.concat([all_responses, frame])
# Bekijk de jaren in de data print(all_responses.Year.unique())
['2016' '2017']
Gestroomlijnde data-inname met pandas

Laten we oefenen!

Gestroomlijnde data-inname met pandas

Preparing Video For Download...