使用Python从Excel单元格中提取值

问题描述 投票:0回答:1

输出

输入

我想从黄色和灰色单元格中提取文本。我还想返回单元格引用,以便我可以返回“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)
pandas excel database
1个回答
0
投票

我检查了你的代码。我相信问题是你的 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中做了一些测试单元:

enter image description here

在控制台打印出单元格值:

enter image description here

© www.soinside.com 2019 - 2024. All rights reserved.