如何用Pandas修改DataFrame指定列标题颜色并导出至Excel
Pandas实现指定列标题着色并导出Excel
要给list1中的列标题设置颜色,你需要借助Pandas的ExcelWriter结合xlsxwriter引擎实现单元格格式定制,以下是完整实现代码:
import pandas as pd list1 = ["A","B","C"] list2 = ["E","F","G"] df = pd.DataFrame(columns=list1 + list2) # 初始化ExcelWriter,指定xlsxwriter引擎 with pd.ExcelWriter("test.xlsx", engine="xlsxwriter") as writer: # 将DataFrame写入Excel,不保留行索引 df.to_excel(writer, sheet_name="Sheet1", index=False) # 获取目标工作表对象 worksheet = writer.sheets["Sheet1"] # 创建自定义格式:这里设置浅灰色背景+黑色字体+居中对齐,可按需调整 target_header_format = writer.book.add_format({ "bg_color": "#D3D3D3", "font_color": "#000000", "bold": True, "align": "center", "valign": "vcenter" }) # 遍历所有列标题,给list1中的列应用自定义格式 for col_num, col_name in enumerate(df.columns): if col_name in list1: worksheet.write(0, col_num, col_name, target_header_format) else: # 非目标列用默认表头格式(也可单独定义其他格式) worksheet.write(0, col_num, col_name)
关键说明:
- 必须使用
xlsxwriter引擎,它支持单元格格式的精细定制,未安装可执行pip install xlsxwriter完成安装 - 格式参数可灵活调整:比如
font_color控制字体颜色,bg_color控制背景色,还可添加边框、字号等样式 - 通过
enumerate遍历列的索引与名称,精准识别list1中的列并应用格式
内容的提问来源于stack exchange,提问作者Brayan Muñoz
相关产品推荐
相关产品推荐

