web-dev-qa-db-fra.com

openpyxl obtenir la feuille par nom

J'écris des données dans un fichier Excel, mais je ne sais pas comment ajuster le code afin de pouvoir contrôler dans quelle feuille j'écris:

wb = load_workbook(filename)
active_ws = wb.active

Au lieu de wb.active, Comment puis-je dire quelque chose comme Sheets('Data') (voici à quoi ressemblerait la syntaxe VBA ...)?

17
horace_vr

Tu devrais utiliser wb[sheetname]

from openpyxl import load_workbook
wb2 = load_workbook('test.xlsx')
ws4 = wb2["New Title"]

PS: vous devez vérifier si votre feuille porte des noms de feuille wb.sheetnames

print(wb2.sheetnames)
['Sheet2', 'New Title', 'Sheet1']
40
Valeriy Solovyov
import openpyxl

n = 0
wb = openpyxl.load_workbook('D:\Excel.xlsx')
sheets = wb.sheetnames
ws = wb[sheets[n]]

la référence: Comment basculer entre les feuilles dans Excel openpyxl python pour faire des changements

2
Youssri Abo Elseod