Wenn:
- Sie mehrere, aber nicht alle Arbeitsblätter möchten, und
- Sie eine einzelne df als Ausgabe möchten
Dann können Sie eine Liste von Arbeitsblattnamen übergeben. Die Sie manuell bevölkern könnten:
import pandas as pd
path = "C:\\Pfad\\Zu\\Ihren\\Daten\\"
file = "daten.xlsx"
sheet_lst_wanted = ["01_IrgendeinName","05_IrgendeinName","12_IrgendeinName"] # Tabellennamen aus Excel
### Daten importieren und zusammenstellen ###
# alle Blätter aus der Liste in ein geordnetes Dictionary einlesen
dict_temp = pd.read_excel(path+file, sheet_name= sheet_lst_wanted)
# die geordneten Dictionary-Elemente zu einem DataFrame zusammenfügen
df = pd.concat(dict_temp, axis=0, ignore_index=True)
ODER
Eine automatisierung ist möglich, wenn Ihre gewünschten Arbeitsblätter eine gemeinsame Namenskonvention haben, die es Ihnen auch ermöglicht, unerwünschte Blätter zu unterscheiden:
# Ersetzen Sie den folgenden Block durch die Zeile sheet_lst_wanted im obigen Block
import xlrd
# Zeichenfolge, die nur in den gewünschten Arbeitsblättern vorkommt
str_like = "IrgendeinName"
### Liste der Blattnamen in Excel-Datei erstellen ###
xls = xlrd.open_workbook(path+file, on_demand=True)
sheet_lst = xls.sheet_names()
### Liste von Blättern erstellen, die den Kriterien entsprechen ###
sheet_lst_wanted = []
for s in sheet_lst:
# Hinweis: Die folgende bedingte Anweisung basiert darauf, dass meine Blätter mit der in sheet_like definierten Zeichenfolge enden
if s[-len(str_like):] == str_like:
sheet_lst_wanted.append(s)
else:
pass