Hoe meerdere excel-bladen in pandas te combineren
Vaak wilt u meerdere Excel-bladen importeren en combineren in één Panda DataFrame.
Stel dat u bijvoorbeeld de volgende Excel-werkmap hebt met de naam data.xlsx met drie verschillende bladen die allemaal twee kolommen met basketbalspelergegevens bevatten:
We kunnen elk blad eenvoudig importeren en combineren in een enkel Pandas DataFrame met behulp van de pandas concat() en read_excel() functies, maar eerst moeten we ervoor zorgen dat xlrd is geïnstalleerd:
pip install xlrd
Eenmaal geïnstalleerd, kunnen we de volgende code gebruiken om deze drie bladen te importeren en te combineren in één 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 to 12 1 B 5 2 C 13 3 D 17 4 E 27 5 F 24 6 G 26 7:27 a.m. 8 I 27 9 D 12 10K 9 11 L 5 12 M 5 13 N 13 14 O 17
Hoe werkt deze code
Er zijn slechts twee delen om te begrijpen hoe deze enkele coderegel meerdere Excel-bladen kan importeren en combineren:
1. Lees alle bladen.
p.d. read_excel ('data.xlsx', sheet_name= None )
Dit stukje code leest in alle bladen van een Excel-werkmap. Standaard leest de functie read_excel() alleen het eerste blad, maar door sheet_name=None op te geven, kunnen we elk blad in de Excel-werkmap lezen.
2. Voeg alle bladen samen.
p.d. concat ( DataFrames to concatenate , ignore_index= True )
Dit stukje code voegt eenvoudigweg alle DataFrames van elk Excel-werkblad samen tot één panda’s DataFrame. Door negeer_index=True op te geven, vertellen we panda’s dat individuele bladnamen niet belangrijk zijn.
Merk op dat deze code alleen werkt als elk van de Excel-bladen hetzelfde formaat heeft. In dit voorbeeld had elk blad twee kolommen met gegevens en had elke kolom dezelfde naam. Daarom werkte deze enkele regel code zo gemakkelijk om elk van de Excel-bladen te combineren tot één panda’s DataFrame.
Aanvullende bronnen
De ultieme gids: Excel-bestanden lezen met Panda’s
Hoe Pandas DataFrames over meerdere Excel-bladen te schrijven