Python
Python3

[Python] エクセルのセルの背景色を取得する

More than 1 year has passed since last update.

Pythonでエクセルのセルの背景色を取得してみました。

環境

macOS High Sierra (10.13)
Python 3.6.2
xlrd 1.3.0

インストール

xlrdのインストール

$ pip install xlrd

エクセルのセルの背景色を取得する

下図のようなセル(C2)の背景色を取得する
image.png

ソースコード

import xlrd

fname = 'Book1.xls' 

#エクセルファイルを読み込む(formatting_info=Trueを付けて読み込む)
book  = xlrd.open_workbook(fname, formatting_info=True)

#シートを選択する
sheet = book.sheet_by_index(0)

#セルを選択する
cell = sheet.cell(1, 2)

#背景色を取得する
xfx = cell.xf_index
xf = book.xf_list[xfx]
bgx = xf.background.pattern_colour_index
color_map = book.colour_map[bgx]

print(color_map)

xlrd では、拡張子が xlsx の場合、背景色などの読み込みができないようです。

結果

(153, 204, 0)