我想从黄色和灰色单元格中提取文本。我还想返回单元格引用,以便我可以返回“LE 2024 Curr vs Prev”以及 $ 和 % 下的值。我尝试运行下面的代码,但它返回“无”
import openpyxl
wb = openpyxl.load_workbook('Sales.xlsx')
sheet = wb['Sheet1']
start_row = 20
end_row = 55
start_column = 1
end_column = 13
for row in range(start_row, end_row + 1):
for col in range(start_column, end_column + 1):
cell = sheet.cell(row-row, column = col)
if cell.fill.start_color.index == 'FFFF00' and 'E7E6E6':
color_cell_value = cell.value
print(cell.value)
我检查了你的代码。我相信问题是你的 if 条件:
if cell.fill.start_color.index == 'FFFF00' and 'E7E6E6':
如果你想提取黄色和灰色的单元格,你需要检查单元格的填充颜色是黄色OR灰色。
例如下面的代码有效:
import openpyxl
wb = openpyxl.load_workbook('Sales.xlsx')
sheet = wb['Sheet1']
start_row = 20
end_row = 55
start_column = 1
end_column = 13
for row in range(start_row, end_row + 1):
for col in range(start_column, end_column + 1):
cell = sheet.cell(row=row, column=col)
if cell.fill.start_color.index == 'FFFF00' or 'E7E6E6':
color_cell_value = cell.value
print(cell.value)
我在Excel中做了一些测试单元:
在控制台打印出单元格值: