You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在导出Excel前用Pandas为标记行添加颜色?

给Pandas DataFrame特定行标色并导出Excel

当然可以实现,给你两种适合新手的简单方法:

方法一:用Pandas Styler快速实现

Pandas的Styler对象可以直接给DataFrame添加样式,导出带格式的Excel:

import pandas as pd

# 替换成你的标记索引列表和DataFrame
marked_indices = [30556, 30981, 55893]
df = pd.read_excel('你的原始数据.xlsx')

# 定义行高亮规则
def highlight_target_rows(row):
    # 行索引在标记列表里就设黄色背景,红色用#ff0000
    if row.name in marked_indices:
        return ['background-color: #ffff00'] * len(row)
    return [''] * len(row)

# 应用样式并导出
styled_df = df.style.apply(highlight_target_rows, axis=1)
# 注意需要安装openpyxl:pip install openpyxl
styled_df.to_excel('标记后的表格.xlsx', engine='openpyxl', index=False)

方法二:用XlsxWriter手动控制样式

如果需要更精细的格式控制,用XlsxWriter引擎直接操作Excel行样式:

import pandas as pd

marked_indices = [30556, 30981, 55893]
df = pd.read_excel('你的原始数据.xlsx')

# 创建Excel写入器
writer = pd.ExcelWriter('标记后的表格.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', index=False)

# 获取工作簿和工作表对象
workbook = writer.book
worksheet = writer.sheets['Sheet1']

# 定义高亮样式(黄色背景)
highlight_style = workbook.add_format({'bg_color': '#ffff00'})

# 给标记的行设置样式
# 注意:Excel行号从1开始,表头占第1行,数据行是DataFrame索引+2(默认0开始索引)
for idx in marked_indices:
    excel_row_num = idx + 2
    # 给整行应用样式
    worksheet.set_row(excel_row_num, cell_format=highlight_style)

# 保存文件
writer.close()

新手注意事项

  • 确认DataFrame索引和Excel行号的对应关系:如果你的DataFrame不是默认的0起始索引,要调整excel_row_num的计算逻辑
  • 提前安装依赖库:openpyxl或xlsxwriter,用pip install 库名即可
  • 颜色代码可以替换成你需要的,比如红色是#ff0000,蓝色是#0000ff

内容的提问来源于stack exchange,提问作者AG6789

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 09:40:46