Good morning,
if i load a list of Excel files, does anyone know a way to count the number of tabs in each files?
Thanks
hi
import sys
import clr
import openpyxl
def number_sheet(i):
wb=openpyxl.load_workbook(i)
return len(wb.sheetnames)
files=IN[0]
OUT = [number_sheet(f) for f in files]
cordially
christian.stan
3 Likes
I ended up using only python
import os
import pandas as pd
# Chemin du dossier contenant les fichiers Excel
dossier = r"C:\Users\Daniel\Downloads\Semaine 10"
# Fichier Excel de sortie
fichier_sortie = os.path.join(dossier, "liste_feuilles.xlsx")
# Lister tous les fichiers Excel dans le dossier
fichiers_excel = [f for f in os.listdir(dossier) if f.endswith(('.xls', '.xlsx'))]
# Liste pour stocker les résultats
resultats = []
for fichier in fichiers_excel:
chemin_fichier = os.path.join(dossier, fichier)
try:
xls = pd.ExcelFile(chemin_fichier)
# Exclure "Feuil1"
feuilles_a_lire = [feuille for feuille in xls.sheet_names if feuille != "Feuil1"]
if feuilles_a_lire:
resultats.append({
"Fichier": fichier,
"Feuilles extraites": ", ".join(feuilles_a_lire)
})
else:
resultats.append({
"Fichier": fichier,
"Feuilles extraites": "Aucune (seulement 'Feuil1' présente)"
})
except Exception as e:
resultats.append({
"Fichier": fichier,
"Feuilles extraites": f"Erreur : {e}"
})
# Créer un DataFrame à partir des résultats
df_resultats = pd.DataFrame(resultats)
# Exporter vers Excel
df_resultats.to_excel(fichier_sortie, index=False)
print(f"✅ Liste des feuilles exportée dans '{fichier_sortie}'")
2 Likes