L'application de Format à l'Ensemble de la Ligne Openpyxl

J'ai un Fichier Excel que je veux format. La première ligne (à l'exclusion des en-Têtes afin row2) devrait être rouge et en italique.

la Openpyxl états de Documentation:

Si vous souhaitez appliquer les styles à l'ensemble de lignes et de colonnes, alors vous devez appliquer le style à chaque cellule-vous

Personnellement, je pense que cela pue... Voici ma solution:

import openpyxl
from openpyxl.styles import NamedStyle
from openpyxl import load_workbook
from openpyxl.styles.colors import RED
from openpyxl.styles import Font
# I normally import a lot of stuff... I'll also take suggestions here.

file = 'MY_PATH'
wb = load_workbook(filename=file)
sheet = wb.get_sheet_by_name('Output')

for row in sheet.iter_rows():
    for cell in row:
        if '2' in cell.coordinate:
            # using str() on cell.coordinate to use it in sheet['Cell_here']
            sheet[str(cell.coordinate)].font = Font(color='00FF0000', italic=True)

 wb.save(filename=file)

Le premier inconvénient est que si il y a plus de cellules telles que A24 ma boucle d'appliquer la mise en forme à elle. Je peux résoudre ce problème avec une expression régulière. Serait-ce la bonne démarche?

En fin de compte est - il un meilleur moyen pour appliquer un format à l'ensemble de la ligne? Aussi. Quelqu'un peut me pointer dans la bonne direction de certaines bonne Openpyxl de la documentation? Je n'ai trouvé sur sheet.iter_rows() et cell.coordinates sur la Pile.

InformationsquelleAutor MattR | 2017-03-23