我正在尝试使用不同的字体颜色突出显示列,以方便用户通知,但是这没有发生。尝试了各种尝试,但不确定是什么问题。除了其他尝试之外,我还尝试评论其他工作表

with pd.ExcelWriter("C:\myDocs\Python\MAY_CCPS_CCSO_Preload_Validated.xlsx", engine='xlsxwriter') as writer:
     CCSO_Preload_Sheet1.to_excel(writer, index = False, sheet_name='SO_1Header')
#     CCSO_Preload_Sheet2.to_excel(writer, index = False, sheet_name="SO_2Item",engine='xlsxwriter')
#     CCSO_Preload_Sheet3.to_excel(writer, index = False, sheet_name="SO_3_Schedules",engine='xlsxwriter')
#     CCSO_Preload_Sheet4.to_excel(writer, index = False, sheet_name="SO_4Partners",engine='xlsxwriter')
#     CCSO_Preload_Sheet5.to_excel(writer, index = False, sheet_name="SO_5Long_Text",engine='xlsxwriter')
workbook  = writer.book
worksheet = writer.sheets['SO_1Header']
format1 = workbook.add_format({'bold': True, 'font_color': 'red', 'bg_color': 'yellow'})
worksheet.set_column('B:B', 40, format1)
writer.save()

最佳答案

看来问题在于您正在使用with上下文管理器,但是格式代码不在该块之外。因此,当您尝试格式化文件时,该文件已经关闭。

更改缩进量,程序将按预期工作:

import pandas as pd

data = [10, 20, 30, 40, 50, 60]

CCSO_Preload_Sheet1 = pd.DataFrame({'Heading1': data,
                                    'Heading2': data})

with pd.ExcelWriter("test.xlsx", engine='xlsxwriter') as writer:
    CCSO_Preload_Sheet1.to_excel(writer,
                                  index = False,
                                  sheet_name='SO_1Header')

    workbook  = writer.book
    worksheet = writer.sheets['SO_1Header']

    format1 = workbook.add_format({'bold': True,
                                   'font_color': 'red',
                                   'bg_color': 'yellow'})

    worksheet.set_column('B:B', 40, format1)


输出:

python - set_column未将颜色格式应用于大型excel文件的列-LMLPHP

07-26 00:07
查看更多