Apply styles while exporting to 'xlsx' in pandas with XlsxWriter

前端 未结 4 1134
刺人心
刺人心 2020-12-15 08:49

I use the .to_excel method of pandas to write a DataFrame as an Excel workbook. This works nice even for multi-index DataFrames as index cells become merged. When using the

4条回答
  •  难免孤独
    2020-12-15 09:14

    The following approach allows me to use xlsxwriter formatting on the dataframe index and column names (though I can't guarantee it's validity):

    import pandas as pd
    import xlsxwriter as xl
    
    # remove pandas header styles
    # this avoids the restriction that xlsxwriter cannot
    # format cells where formatting was already applied
    pd.core.format.header_style = None
    
    # write dataframe to worksheet
    writer = pd.ExcelWriter(sumfile, engine='xlsxwriter')
    df.to_excel(writer, sheet_name='test')
    
    # create desired xlsxwriter formats
    workbook  = writer.book
    worksheet = writer.sheets['test']
    header = workbook.add_format({'bold': True})
    index = workbook.add_format({'align': 'left'})
    
    # apply formats to header and index
    worksheet.set_row(0, None, header)
    worksheet.set_column(0,0, None, index)

提交回复
热议问题