Je manipule une feuille, principalement en supprimant toutes les feuilles sauf celle dont j'ai besoin. Je vais parcourir en boucle toutes les feuilles, et supprimer celles qui ne sont pas utiles à ma tâche.
Après avoir supprimé, j'ai essayé de sauvegarder mais une erreur s'est produite.
File "C:\Users\myUser\Anaconda3\lib\site-packages\openpyxl\workbook\workbook.py", line 130, in active
return self._sheets[self._active_sheet_index]
Voici mon script
wb = load_workbook("File.xlsx")
ws1 = wb["Employee Info"]
ws1.freeze_panes = None
ws_active = wb.get_sheet_by_name("Employee Info")
### delete other sheets but Employee Info
for sheet in wb.worksheets:
if sheet.title != 'Employee Info':
print("removing " + sheet.title)
wb.remove_sheet(sheet)
print("remaining sheets:")
for sheet in wb.worksheets:
print(" " + sheet.title)
### TODO
### loop through the files in a directory
### TODO
### see if readable by ETL
print("saving the wb")
wb.save("modified.xlsx")
Après avoir supprimé, j'ai vérifié le classeur. Et il contient la feuille que je recherche. Mais je ne sais pas pourquoi il ne détecte pas la feuille restante.
Pour ajouter plus de détails, le fichier Excel comporte 8 feuilles, la feuille que je recherche se trouve sur la 5e feuille.