Условное форматирование Pandas удалено в Excel - PullRequest
0 голосов
/ 18 декабря 2018

Я впервые форматирую электронную таблицу Excel с помощью Python, используя модуль Pandas.

Мой код показан ниже:

writer = pd.ExcelWriter('%s.xlsx'%item,engine='xlsxwriter')
workbook  = writer.book
format1 = workbook.add_format({'bg_color': '#FFC7CE',
                           'font_color': '#9C0006'})

final.to_excel(writer, '%s.xlsx'%item) # Output results to an excel file
#item is simply the name of the excel document.
#final is the name of the data frame I am working with.
worksheet = writer.sheets['%s.xlsx'%item ]
worksheet.conditional_format('A1:CG350', {'type':     'cell',
                                'criteria': 'containing',
                                'value':     'X ',
                                'format':    format1})
writer.save()

Мой код выполняется просто отлично.Когда я открываю окончательную электронную таблицу Excel, появляются следующие сообщения об ошибках:

Сообщение об ошибке Excel 1 Ссылка

Сообщение об ошибке Excel 2Ссылка

По сути, Excel вынуждает меня удалить условное форматирование.Я использую Python 3 и Excel 2016. У кого-нибудь есть какие-либо предлагаемые решения?

Спасибо!

1 Ответ

0 голосов
/ 18 декабря 2018

Критерий «содержащий» связан с типом «текст», а не «ячейка».

Если вы измените это, ваша программа будет работать так, как ожидается.Вот пример:

import pandas as pd

final = pd.DataFrame({'Data': ['fox red', 'red fox', 'fox red', 'red fox']})

item = 'foo'
writer = pd.ExcelWriter('%s.xlsx'% item, engine='xlsxwriter')

workbook  = writer.book
format1 = workbook.add_format({'bg_color': '#FFC7CE',
                               'font_color': '#9C0006'})

final.to_excel(writer, '%s.xlsx' % item)

worksheet = writer.sheets['%s.xlsx' % item]

worksheet.conditional_format('A1:CG350', {'type':     'text',
                                          'criteria': 'containing',
                                          'value':    'X ',
                                          'format':   format1})

writer.save()

Вывод:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...