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

如何为Pandas DataFrame添加自定义标题以支持Excel、PDF导出展示

Pandas DataFrame 添加全局顶部标题导出方案

Pandas DataFrame 本身没有内置存储全局标题的属性,要实现导出Excel/PDF时展示顶部标题,不需要修改DataFrame的原始数据结构,在导出环节单独处理标题写入即可。

场景1:导出到Excel Sheet 展示标题

使用openpyxl作为导出引擎,预留顶部行写入标题即可,示例代码如下:

import pandas as pd
from openpyxl.styles import Font

# 原始数据
df = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'C':[7,8,9,4,2,3],
         'D':[1,3,5,7,1,0],
         'E':[5,3,6,9,2,4],
         'F':list('aaabbb')
})
title = 'The sales'

# 导出Excel
with pd.ExcelWriter('output.xlsx', engine='openpyxl') as writer:
    # startrow=2 代表数据从第3行开始写入,预留前2行位置放标题
    df.to_excel(writer, sheet_name='数据页', startrow=2, index=False)
    worksheet = writer.sheets['数据页']
    # 在第1行第1列写入标题
    worksheet.cell(row=1, column=1, value=title)
    # 可选配置:给标题设置加粗、加大字号样式
    worksheet.cell(row=1, column=1).font = Font(bold=True, size=14)

场景2:导出到PDF 展示标题

最简便的方式是先拼接带标题的HTML内容,再转成PDF,示例代码如下:

import pandas as pd
import pdfkit

# 原始数据
df = pd.DataFrame({
        'A':list('abcdef'),
         'B':[4,5,4,5,5,4],
         'C':[7,8,9,4,2,3],
         'D':[1,3,5,7,1,0],
         'E':[5,3,6,9,2,4],
         'F':list('aaabbb')
})
title = 'The sales'

# 拼接带标题的HTML字符串
html_content = f'''
<h2>{title}</h2>
{df.to_html(index=False)}
'''
# 导出为PDF,需提前安装wkhtmltopdf依赖工具
pdfkit.from_string(html_content, 'output.pdf')

如果习惯用LaTeX排版,也可以调用df.to_latex(caption=title)生成带标题的LaTeX代码后编译为PDF。

场景3:控制台/Jupyter 预览带标题

如果仅需要本地预览带标题的表格,不需要导出文件,可以直接用以下方式:

title = 'The sales'
# 控制台打印
print(title)
print(df)

# Jupyter环境渲染带标题的交互表格
df.style.set_caption(title)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 01:54:02