Python читает ячейки в листе Excel (xlsx) с некоторым цветом фона - PullRequest
0 голосов
/ 05 сентября 2018

Я пытаюсь прочитать лист Excel (xlsx), который использует цвет фона для различения значений.

Я пробовал следующие библиотеки:

  1. Панды, не нашли никакой опции для чтения ячеек на основе цвета фона.
  2. xlrd.

    import xlrd
    xlrd.open_workbook("filename.xlsx", formatting_info=True)
    

выдает ошибку как: NotImplementedError: formatting_info = True еще не реализовано.

  1. StyleFrame (в соответствии с рекомендациями DeepSpace в: Подмножество кадра данных на основе цвета ячейки и цвета текста в листе Excel )

    from StyleFrame import StyleFrame, utils
    sf = StyleFrame.read_excel('filename.xlsx', read_style=True, use_openpyxl_styles=False)
    

выдает ошибку как:

Traceback (most recent call last):
File "proj_path/read_excel.py", line 22, in <module>
sf = StyleFrame.read_excel('filename.xlsx', read_style=True, use_openpyxl_styles=False)
File "C:\Anaconda\lib\site-packages\StyleFrame\deprecations.py", line 22, in inner
return func(*args, **kwargs)
File "C:\Anaconda\lib\site-packages\StyleFrame\style_frame.py", line 220, in read_excel
_read_style()
File "C:\Anaconda\lib\site-packages\StyleFrame\style_frame.py", line 209, in _read_style
read_comments and current_cell.comment)
File "C:\Anaconda\lib\site-packages\StyleFrame\styler.py", line 127, in from_openpyxl_style
font_color = theme_colors[openpyxl_style.font.color.theme]
TypeError: list indices must be integers or slices, not Integer

Высоко ценится любое предложение помочь мне двигаться в правильном направлении.

1 Ответ

0 голосов
/ 05 сентября 2018

Даже если это возможно через Python, самый простой способ - это отфильтровать по цвету в Excel, скопировать эту таблицу и вставить ее в другое место, а затем импортировать ее, как если бы это был любой файл Excel с Pandas.

Как прокомментировал DeepSpace, он был до этого через Python, но это довольно хлопотно

...