Есть ли способ заставить add_format работать в xlsxwriter при написании объекта Styler? - PullRequest
1 голос
/ 22 апреля 2020

Я пытаюсь записать стилизованный кадр данных в Excel, используя механизм xlsxwriter. Это работает, но когда я пытаюсь применить add_format к столбцу, он не будет применять этот формат к ячейкам, которые я написал из стилизованного кадра данных, только к оставшимся пустым ячейкам. Что я делаю не так?

Вот тестовый код, который я написал, чтобы проверить это:

test_df = pd.DataFrame([11, 22.0, '33', '44 words might make this line wrap'])
test_df = test_df.style

writer = pd.ExcelWriter('format_test.xlsx', engine='xlsxwriter')

test_df.to_excel(writer,sheet_name='sheet',index=False, header=False)

worksheet = writer.sheets['sheet']  # pull worksheet object
workbook  = writer.book
format1 = workbook.add_format({
    'bold': True,
    'text_wrap': True,
    'align' : 'right',
    'valign': 'center',
    'fg_color': '#D7E4BC',
    'border': 1})
worksheet.set_column('A:A',23,format1)
worksheet.set_default_row(50)

writer.save()

Так что, если я закомментирую вторую строку с примененным .style, большинство форматов (перенос текста, et c.) работа. Но как только я снова выполню .style, все форматы исчезнут.

Есть идеи?

1 Ответ

0 голосов
/ 23 апреля 2020

Джон Макнамара, автор xlsxwriter, сказал мне, что он не работает для этого движка. Он порекомендовал мне попробовать двигатель openpyxl.

...