Объедините ячейки Excel одного цвета текста в одну, используя python? - PullRequest
0 голосов
/ 28 февраля 2020

Я ищу решение для объединения ячеек Excel с одинаковым цветом текста в одну ячейку в столбце. На следующем рисунке показан input_excel.xlsx: -

Входное изображение в python код

Файл output_excel.xlsx должен быть возвращен кодом python следующим образом: -

Вывод python кода

Я просмотрел следующую ссылку: Подмножество кадра данных на основе цвета ячейки и цвета текста в листе Excel но не в состоянии объединить ячейки, имеющие черный цвет текста.

Следующий код был реализован для обнаружения красного текста и черного текста в Excel: -

# importing openpyxl module 
import openpyxl 

# Give the location of the file 
path = "E:\\input_excel.xlsx"

# workbook object is created 
wb_obj = openpyxl.load_workbook(path) 

sheet_obj = wb_obj.active 
m_row = sheet_obj.max_row 
for i in range(1, m_row + 1): 
    cell_obj = sheet_obj.cell(row = i, column = 1).font.color
    if cell_obj is not None:    # to catch cells that do have a color object
        if cell_obj.rgb == "FFFF0000":
           print(cell_obj.rgb)
        elif cell_obj.rgb == "00000000":
           print(cell_obj.rgb)

Приведенный выше код всегда возвращает шестнадцатеричное значение красного текста следующим образом: -

FFFF0000
FFFF0000
FFFF0000
FFFF0000
FFFF0000

Почему openpyxl не обнаруживает черный цвет текста? Как можно улучшить код? Кто-нибудь может помочь в реализации кода, необходимого для показанных выше изображений?

...