복붙노트

[PYTHON] XLRD 패키지를 사용하여 Excel 시트 셀 색상 코드 식별

PYTHON

XLRD 패키지를 사용하여 Excel 시트 셀 색상 코드 식별

xlrd를 사용하여 Excel 시트에서 데이터를 읽는 python 스크립트를 작성했습니다. 작업 시트의 셀 중 일부는 다른 색으로 강조 표시되어 있으며 셀의 색 코드를 식별하고 싶습니다. 그것을 할 방법이 있습니까? 예를 들어 정말 고맙게 생각합니다.

해결법

  1. ==============================

    1.이것을 처리하는 한 가지 방법이 있습니다.

    이것을 처리하는 한 가지 방법이 있습니다.

    import xlrd
    book = xlrd.open_workbook("sample.xls", formatting_info=True)
    sheets = book.sheet_names()
    print "sheets are:", sheets
    for index, sh in enumerate(sheets):
        sheet = book.sheet_by_index(index)
        print "Sheet:", sheet.name
        rows, cols = sheet.nrows, sheet.ncols
        print "Number of rows: %s   Number of cols: %s" % (rows, cols)
        for row in range(rows):
            for col in range(cols):
                print "row, col is:", row+1, col+1,
                thecell = sheet.cell(row, col)      
                # could get 'dump', 'value', 'xf_index'
                print thecell.value,
                xfx = sheet.cell_xf_index(row, col)
                xf = book.xf_list[xfx]
                bgx = xf.background.pattern_colour_index
                print bgx
    

    Python-Excel Google 그룹에 대한 자세한 정보.

  2. ==============================

    2.이 함수는 셀 배경의 rgb 값을 터플로 반환합니다.

    이 함수는 셀 배경의 rgb 값을 터플로 반환합니다.

    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
    
  3. from https://stackoverflow.com/questions/7991209/identifying-excel-sheet-cell-color-code-using-xlrd-package by cc-by-sa and MIT license