Я пытаюсь открыть один файл, посмотреть, имеют ли ячейки цветную заливку, скопировать координату и заполнить информацию в словарь. Затем я хочу перебрать словарь, чтобы скопировать форматирование в те же координаты в другом документе. (Возможно, это не лучший способ выполнить sh это)
def color_collect(wb): # This collects colors from cell coordinates
color_data = OrderedDict()
for sheetcount, wksht in enumerate(wb.worksheets):
color_data[sheetcount] = {}
for row in wksht:
for cell in row:
coord = cell.coordinate
coordcolor = cell.fill.start_color.index
if coordcolor != '00000000':
color_data[sheetcount][coord] = coordcolor
return color_data
def color_write(wb, color_data): # This adds color to cell coordinates
print color_data
for idx, sheet in enumerate(wb):
print idx
for cell in color_data[idx]:
print cell
coloridx = color_data[idx][cell]
print coloridx
sheet[cell].fill.start_color.index = color_data[idx][cell]
Запуск этого дает такой результат:
sheet [cell] .fill.start_color.index = color_data [idx] [ячейка]
AttributeError: невозможно установить атрибут
Некоторые примечания: цвет индекса важен, потому что я использую цвет индекса для импорта данных с цветовой кодировкой в PowerPoint. Если индекс не применяется должным образом, данные не распознаются позже, поэтому решения, использующие простые заливки RGB, не являются супер полезными.
Любая помощь будет полезна