Anwenden von Format auf die Gesamte Zeile Openpyxl

Ich habe eine Excel-Datei, die ich formatieren will. Die erste Zeile (ohne Header so row2) sollte rot sein und Kursiv.

den Openpyxl Dokumentation Staaten:

Wenn Sie möchten, anwenden von Stilen, um ganze Zeilen und Spalten, dann müssen Sie das Format anwenden, um jede Zelle selbst

Ich persönlich denkt, das stinkt... Hier ist mein workaround:

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)

Der erste Nachteil ist, dass, wenn es mehr Zellen wie A24 meine Schleife wird die Formatierung angewendet. Kann ich dieses Problem beheben mit einem regulären Ausdruck. Wäre das der richtige Ansatz?

Letztlich - gibt es eine bessere Möglichkeit, um ein format auf die ganze Zeile? Auch. Kann jemand mich in die richtige Richtung, um einige gute Openpyxl Dokumentation? Ich habe nur herausgefunden, über sheet.iter_rows() und cell.coordinates auf Stapel.

InformationsquelleAutor MattR | 2017-03-23

Schreibe einen Kommentar