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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gibt es keine Notwendigkeit zu iterieren über alle Zeilen, wenn Sie nur beabsichtigen, ändern Sie die Farbe für die zweite Zeile können Sie nur Durchlaufen eine einzelne Zeile wie folgt:
Geben Sie etwas wie:
Zugriff auf mehrere Zellen ist beschrieben in der openpyxl docs: Zugriff auf viele Zellen
Alternativ, die Verwendung einer
NamedStyle
:Es ist in den docs, aber ein bisschen begraben, vielleicht Zugriff auf viele Zellen.
Wenn Sie eine Menge von Zellen zu formatieren, dann
NamedStyles
ist der Weg zu gehen.Ich habe
NamedStyle
vor, aber wie möchten Sie sich bewerben, die zu meinem Fall?link kaputt: Zugriff auf viele Zellen
InformationsquelleAutor Martin Evans