get the fill color of a cell in an Excel file
There is a file that consists of a million lines, it needs to be parsed. which I actually did, but there is still a task to check the fill color in this cell.
# -*- coding: utf-8 -*-
from openpyxl import load_workbook
wb_form = load_workbook("1.xlsx", data_only=True)
sheet_form = wb_form["1"]
wb = sheet_form["B2"].value
f = open("1.txt", "w+")
tmp = 0
for iter, row in enumerate(sheet_form.values):
if iter == 0:
continue
for i in row:
if i == None:
continue
print(i)
f.close()
I can't find a solution. how do I check the cell color at the time of the iteration?
2
1 answers
Example:
In [73]: from openpyxl import load_workbook
...:
...: wb = load_workbook(r"C:\Temp\1.xlsx")
...: ws = wb["Sheet1"]
...:
...: for row in ws.iter_rows(min_row=1, max_col=3, max_row=5):
...: for cell in row:
...: print(f"coordinate: {cell.coordinate}\tvalue: {cell.value}\tcolor: {cell.fill.start_color.index}")
...:
coordinate: A1 value: a color: 00000000
coordinate: B1 value: b color: 00000000
coordinate: C1 value: c color: 00000000
coordinate: A2 value: 1 color: 00000000
coordinate: B2 value: 2 color: FFC6EFCE
coordinate: C2 value: 3 color: 00000000
coordinate: A3 value: 4 color: 00000000
coordinate: B3 value: 5 color: FFFFC7CE
coordinate: C3 value: 6 color: 00000000
coordinate: A4 value: 7 color: 00000000
coordinate: B4 value: 8 color: FFFFEB9C
coordinate: C4 value: 9 color: 00000000
coordinate: A5 value: 10 color: 00000000
coordinate: B5 value: 11 color: 5
coordinate: C5 value: 12 color: 00000000
2
Author: MaxU, 2019-08-29 13:59:55