pandas 生成excel多级表头

使用pandas导出excel 表格时类似这种

其中含有多级表头的情况也就是涉及到表头需要合并单元格(横向及纵向)

1、表头设置

python 复制代码
columns = [("xx公司路产月报表","序号","序号"),("xx公司路产月报表","单位","单位"),("xx公司路产月报表","本月使用","份数"),("xx公司路产月报表","本月使用","金额"),("xx公司路产月报表","本月作废","份数"),("xx公司路产月报表","本年累计","使用份数"),("xx公司路产月报表","本年累计","金额"),("xx公司路产月报表","本年累计","作废份数"),("xx公司路产月报表","月末结存","份数")]
df = pd.DataFrame(dep_data_list)
df.columns = pd.MultiIndex.from_tuples(columns)
df.to_excel(excelfile)

结果时这样的

产生的结果会多一列索引,多一行空白行,及纵向的单元格没有被合并

python 复制代码
# 列索引不显示
df.to_excel(excelfile,index=False)
# 不被允许,报错NotImplementedError("Writing to Excel with MultiIndex columns and no index ('index'=False) is not yet implemented.",

2、隐藏多余的行

python 复制代码
with pd.ExcelWriter(excelfile,engine='xlsxwriter') as writer:
     df.to_excel(writer,sheet_name='报表数据统计')
     writer.sheets['报表数据统计'].set_column(0,0,None,None,{"hidden":True})
     writer.sheets['报表数据统计'].set_row(3,None,None,{"hidden":True})
     writer.save()

结果展示

3、表头纵向合并居中展示、表头字体放大

python 复制代码
workbook = load_workbook(excelfile)
sheet = workbook.active
name = workbook.get_sheet_names

sheet.merge_cells('B2:B3')
sheet.merge_cells('C2:C3')
cell = sheet['B1']
font = Font(size=20,bold=True)
cell.font = font
sheet['B2'].alignment = Alignment(horizontal="center", vertical="center")
sheet['C2'].alignment = Alignment(horizontal="center", vertical="center")
workbook.save(excelfile)

结果展示

相关推荐
0566464 分钟前
Python高级——解释器执行原理与虚拟环境工程化实战
开发语言·python
weixin_435776115 分钟前
2026年长沙托育vi设计从风格定位到元素运用的设计方法
linux·运维·服务器·python
梦想三三8 分钟前
LangChain RAG PDF 智能问答实战:用 Streamlit 构建本地知识库(完整代码)
人工智能·python·langchain·大模型·rag
电化学仪器白超1 小时前
禹衡光栅长度计精度评测:基于国标0级氧化锆量块的校正与数据分析
python·单片机·嵌入式硬件·物联网·自动化
小玮看世界1 小时前
[Python]自动驾驶感知与决策练习题 (1-10)
开发语言·python·自动驾驶
Ming_studying1 小时前
Python + SQLite FTS5 构建本地文档全文搜索器:增量索引、中文检索与高亮
jvm·数据库·python·sqlite
玉鸯2 小时前
让 Agent 面向用户:AG-UI 协议构建 Agent 前端
前端·python·agent
小白学大数据2 小时前
把 Modbus 轮询塞进 Trio 的异步循环:内存映射与定时采集实战
网络·python·搜索引擎
FriendshipT2 小时前
Ubuntu 20.04 下使用 Ollama 本地部署 AI 大模型
linux·人工智能·python·深度学习·ubuntu