Comment combiner plusieurs feuilles Excel dans Pandas



Souvent, vous souhaiterez peut-être importer et combiner plusieurs feuilles Excel dans un seul DataFrame pandas.

Par exemple, supposons que vous disposiez du classeur Excel suivant appelé data.xlsx avec trois feuilles différentes contenant toutes deux colonnes de données sur les joueurs de basket-ball :

Nous pouvons facilement importer et combiner chaque feuille dans un seul DataFrame pandas en utilisant les fonctions pandas concat() et read_excel() , mais nous devons d’abord nous assurer que xlrd est installé :

pip install xlrd

Une fois installé, nous pouvons utiliser le code suivant pour importer et combiner ces trois feuilles en un seul Pandas DataFrame :

#load pandas library
import pandas as pd

#import and combine the three sheets into one pandas DataFrame
df = pd.concat(pd.read_excel('data.xlsx', sheet_name=None), ignore_index=True)

#view DataFrame
df

        player	points
0	A	12
1	B	5
2	C	13
3	D	17
4	E	27
5	F	24
6	G	26
7	H	27
8	I	27
9	J	12
10	K	9
11	L	5
12	M	5
13	N	13
14	O	17

Comment fonctionne ce code

Il n’y a que deux éléments pour comprendre comment cette seule ligne de code est capable d’importer et de combiner plusieurs feuilles Excel :

1. Lisez toutes les feuilles.

pd.read_excel('data.xlsx', sheet_name=None)

Ce morceau de code se lit dans toutes les feuilles d’un classeur Excel. Par défaut, la fonction read_excel() ne lit que la première feuille, mais en spécifiant sheet_name=None , nous pouvons lire chaque feuille du classeur Excel.

2. Concaténez toutes les feuilles.

pd.concat(DataFrames to concatenate, ignore_index=True)

Ce morceau de code concatène simplement tous les DataFrames de chaque feuille Excel en un seul DataFrame pandas. En spécifiant ignore_index=True , nous disons aux pandas que les noms des feuilles individuelles ne sont pas importants.

Notez que ce code ne fonctionne que si chacune des feuilles Excel a le même format. Dans cet exemple, chaque feuille avait deux colonnes de données et chaque colonne avait le même nom, c’est pourquoi cette seule ligne de code fonctionnait si facilement pour combiner chacune des feuilles Excel en un seul DataFrame pandas.

Ressources additionnelles

Le guide ultime : comment lire des fichiers Excel avec Pandas
Comment écrire des DataFrames Pandas sur plusieurs feuilles Excel

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *