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

如何用Python给导出的Excel文件添加自定义行标题?

解决Excel导出时添加自定义行的问题

错误原因分析

你之前的尝试存在两个问题:

  • df.insert()是Pandas中插入列的方法,并非插入行,用它处理行操作必然出错;
  • 新建DataFrame时直接覆盖了原有df变量,导致之前读取的Excel数据丢失,正确做法是合并而非覆盖。

方案1:在数据上方添加自定义行

适合将说明放在数据表头下方、正式数据之前,确保列对齐:

import tkinter as tk
from tkinter import filedialog
import pandas as pd

root = tk.Tk()
root.withdraw()

file_path = filedialog.askopenfilename()

df = pd.read_excel(file_path, usecols=['date','time'])

# 创建匹配原DataFrame列名的自定义行
custom_row = pd.DataFrame([['Exported By: 你的名字', '']], columns=df.columns)
# 合并自定义行与原数据,自定义行前置
df_with_custom = pd.concat([custom_row, df], ignore_index=True)

path_to_save = filedialog.asksaveasfilename(defaultextension='.xlsx')
df_with_custom.to_excel(path_to_save, index=False)

方案2:在数据末尾添加自定义行

如果需要将说明放在所有数据之后:

# 同上,先读取原数据...

# 创建自定义行,列名与原数据一致
custom_row = pd.DataFrame([['', 'Exported By: 你的名字']], columns=df.columns)
# 合并自定义行与原数据,自定义行后置
df_with_custom = pd.concat([df, custom_row], ignore_index=True)

# 保存文件...

方案3:跨列显示自定义说明行

如果需要让“Exported By: XXX”跨所有列显示,需要借助xlsxwriter引擎实现单元格合并:

import tkinter as tk
from tkinter import filedialog
import pandas as pd

root = tk.Tk()
root.withdraw()

file_path = filedialog.askopenfilename()
df = pd.read_excel(file_path, usecols=['date','time'])

path_to_save = filedialog.asksaveasfilename(defaultextension='.xlsx')

# 使用xlsxwriter引擎,需先安装:pip install xlsxwriter
with pd.ExcelWriter(path_to_save, engine='xlsxwriter') as writer:
    worksheet = writer.book.add_worksheet()
    # 写入说明并合并A1到B1单元格(对应原数据的2列)
    worksheet.merge_range('A1:B1', 'Exported By: 你的名字')
    # 从第3行开始写入原数据(第1行是说明,第2行是表头)
    df.to_excel(writer, startrow=2, index=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 07:24:25