Ingestion de données rationalisée avec pandas
Amany Mahfouz
Instructor
read_excel() charge par défaut la première feuille d'un fichier Excelsheet_name pour charger d'autres feuillesread_excel() s'applique à toutes les feuilles lues
# Obtenir la deuxième feuille par index de position survey_data_sheet2 = pd.read_excel('fcc_survey.xlsx', sheet_name=1)# Obtenir la deuxième feuille par nom survey_data_2017 = pd.read_excel('fcc_survey.xlsx', sheet_name='2017')print(survey_data_sheet2.equals(survey_data_2017))
True
sheet_name=None à read_excel() lit toutes les feuilles d'un classeursurvey_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'>
# Créer un dataframe vide pour contenir toutes les feuilles chargées all_responses = pd.DataFrame()# Parcourir les dataframes dans le dictionnaire for sheet_name, frame in survey_responses.items(): # Ajouter une colonne pour connaître l'année d'origine frame["Year"] = sheet_name# Ajouter le dataframe à all_responses all_responses = pd.concat([all_responses, frame])# Afficher les années présentes print(all_responses.Year.unique())
['2016' '2017']
Ingestion de données rationalisée avec pandas