我使用xlsxwriter将pandas DataFrame保存为_excel。我已经设法格式化所有数据(设置列宽,字体大小等),除了更改标题的字体,我找不到方法来做到这一点。这里是我的例子:pandas xlsxwriter,格式标题
import pandas as pd
data = pd.DataFrame({'test_data': [1,2,3,4,5]})
writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
data.to_excel(writer, sheet_name='test', index=False)
workbook = writer.book
worksheet = writer.sheets['test']
font_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10})
header_fmt = workbook.add_format({'font_name': 'Arial', 'font_size': 10, 'bold': True})
worksheet.set_column('A:A', None, font_fmt)
worksheet.set_row(0, None, header_fmt)
writer.save()
尝试设置标头格式的倒数第二行什么也不做。
很好的解决方法。只是一些背景来解释为什么这个工程。在Excel中,单元格格式覆盖行格式将覆盖列格式。“pd.core.format.header_style”转换为格式并应用于标题中的每个单元格。因此,'set_row()'不能覆盖默认值。将'pd.core.format.header_style'设置为'None'意味着标题单元格没有用户定义的格式,因此格式可以被覆盖。 – jmcnamara
它看起来像在pandas 0.18.1中移动了'pd。 core.format'到'pd.formats'模块,所以现在应该写'pd.formats.format.header_style = None'。 – krvkir
@krvkir - 谢谢,我添加您的评论来回答。 – jezrael