Ошибка xlsxwriter: AttributeError: у объекта «Рабочая книга» нет атрибута «add_format» - PullRequest
0 голосов
/ 18 января 2020

Я делаю простое условное форматирование с использованием xlsxwriter, но я получаю эту ошибку, когда запускаю приведенный ниже код.

AttributeError: 'Workbook' object has no attribute 'add_format'

Я обновил xlsxwriter и посмотрел много вопросов по SO и документации но пока ничего не получилось.

Это мой код:

workbook = load_workbook(input_excel_filename)
writer = pd.ExcelWriter(input_excel_filename, engine="xlsxwriter")
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)

trends_sheet = writer.sheets["Trends"]
slight_increase = writer.book.add_format({"bg_color":"#d3e6d5"})
trends_sheet.conditional_format("E:E", {"type":"cell", "criteria":"==", "value":"Slight Increase", "format":slight_increase})

Ответы [ 2 ]

0 голосов
/ 24 марта 2020

Проверьте, установлен ли пакет xlsxwriter или нет .... даже я столкнулся с той же проблемой .. решил ее после установки пакета ... тот же ответ касается любой ошибки атрибута, связанной с книгой / программой записи, если ваш код правильный

0 голосов
/ 21 января 2020

Часть проблемы была в том, что мне нужно было явно установить writer.book. Поэтому добавьте строку writer.book = workbook после определения writer. Также добавление engine="openpyxl" в ExcelWriter избавило от последующей ошибки. В целом, похоже, это работает:

workbook = load_workbook(input_excel_filename)
writer = pd.ExcelWriter(input_excel_filename, engine="openpyxl")
writer.book = workbook
writer.sheets = dict((ws.title, ws) for ws in wb.worksheets)
data.to_excel(writer, sheet_name="Data", index=False)
writer.save()
writer.close()

Я не смог заставить его работать с условным форматированием, но настройка форматирования в электронной таблице Excel, похоже, действительно работает, потому что даже если данные переписаны, форматирование остается неизменным .

...