使用python提取颜色表格Excel工作表

时间:2019-04-08 09:47:52

标签: python excel

我有必要在哪里提取excel文件的单元格(背景)的颜色,我已经在perl中完成了,但是我需要在python中完成。

有人可以帮我吗

2 个答案:

答案 0 :(得分:1)

您可以使用openpyxl库读取excel文件并获取所需内容。这是获取颜色Openpyxl styles

的链接

您可以将此示例代码用作

import openpyxl
wb = openpyxl.load_workbook('#filename', data_only=True)
sh = wb[Sheet1]  
sh['A1'].fill.start_color.index

答案 1 :(得分:1)

使用xlrd

from xlrd import open_workbook
from webcolors import rgb_to_name

wb = open_workbook('cel_lis.xls', formatting_info=True)
sh = wb.sheet_by_name('Sheet1')


def getBGColor(book, sheet, row, col):
    xfx = sheet.cell_xf_index(row, col)
    xf = book.xf_list[xfx]
    bgx = xf.background.pattern_colour_index
    pattern_colour = book.colour_map[bgx]

    #Actually, despite the name, the background colour is not the background colour.
    #background_colour_index = xf.background.background_colour_index
    #background_colour = book.colour_map[background_colour_index]

    return pattern_colour

rgb_Col = getBGColor(wb, sh, 0, 0)
print("The RGB value of the cell is: {} which is equivalent to {}".format(rgb_Col, rgb_to_name(rgb_Col)))

输出

The RGB value of the cell is: (255, 0, 0) which is equivalent to red
  

注意:

     

我使用了类型为.xls的工作表,其名称为cel_lis.xls   名为Sheet1的工作表,其第一个单元格A的背景为Red   颜色。   out