pandas 生成excel多级表头

news2024/9/19 9:14:41

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

在这里插入图片描述
其中含有多级表头的情况也就是涉及到表头需要合并单元格(横向及纵向)
1、表头设置

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)

结果时这样的
在这里插入图片描述
产生的结果会多一列索引,多一行空白行,及纵向的单元格没有被合并

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

2、隐藏多余的行

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、表头纵向合并居中展示、表头字体放大

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)

结果展示
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2136380.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【树形dp】P2014 [CTSC1997] 选课 题解

题目描述 在大学里每个学生,为了达到一定的学分,必须从很多课程里选择一些课程来学习,在课程里有些课程必须在某些课程之前学习,如高等数学总是在其它课程之前学习。现在有 N ( 1 ≤ N ≤ 300 ) N(1\leq N \leq 300) N(1≤N≤30…

Leetcode 每日一题:Longest Increasing Path in a Matrix

写在前面: 今天我们继续看一道 图论和遍历 相关的题目。这道题目的背景是在一个矩阵当中找寻最长的递增数列长度。思路上非常好想,绝对和 DFS 相关,但是题目的优化要求非常高,对于语言和内存特性的考察特别丰富,如果是…

【Python报错已解决】ERROR: No matching distribution found for PIL

🎬 鸽芷咕:个人主页 🔥 个人专栏: 《C干货基地》《粉丝福利》 ⛺️生活的理想,就是为了理想的生活! 文章目录 前言一、问题描述1.1 报错示例1.2 报错分析1.3 解决思路 二、解决方法2.1 方法一:安装Pillow2.2 步骤二&a…

CentOS安装Hadoop系列

安装Hadoop 1、安装SDK 2、Wget下载安装包到指定目录 3、选择hadoop的配置模式,单机模式,伪集群模式,集群模式 1、查找APACHE下载官网,搜索hadoop,进入目录,找到common目录,下载对应版本 国内,…

uniapp 原生插件开发 UI

前言: 在集成某些特定 原生SDK的时候,它本身是带UI控件的。当我们使用 uniapp 开发app的时候实是 可以使使用 nvue 页面,以 weex 的方式嵌入原生的UI控件。 我这边的场景是 接入连连app的支付,它有个自己的密码键盘 控件是原生的页…

好用的电脑录屏软件有哪些?推荐4款专业工具。

不同系统的电脑上面带有的录屏功能不一样,比如win10上面有Xbox game bar,Mac系统则用的是QuickTime Player,或者是使用快捷键“CommandShift5”。但更方便的,我自己认为是使用一些专业的录屏软件,他门的录制模式多,兼容…

python将这多个sheet页的数据合并在一起

有如下数据,需要将excel多个sheet页中的数据,合并在一起。 数据样例:👇 import pandas as pd import os# 读Excel文件 file_path D:/project/Excelimport/簿4.xlsx# 创建空的DataFrame用于存储合并后的数据 all_data pd.Data…

软件项目管理

1. 软件项目管理概述 1.1 软件项目管理 软件项目管理的提出是在20世纪70年代中期,当时美国国防部专门研究了软件开发不能按时提交、预算超支和质量达不到用户要求的原因,发现70%的项目是因为管理不善引起的,而非技术原因。 软件项目管理和…

9月17–20日Sui新加坡参会指南,期待与您相聚

📧叮,您有一份Sui新加坡参会指南待领取~ 随着新加坡Token2049大会的临近,我们为即将前往新加坡参会的朋友们准备了一份指南,帮助你快速了解Sui团队的活动安排,并与Sui团队来个线下面对面的交流。 9月17日…

解码消费医疗机构:如何通过全场景AI运营实现营销破局?

在当今的医美市场中,“流量困境”已成为众多消费医疗机构面临的严峻挑战。传播日益碎片化,各大机构对流量争夺也愈演愈烈,不少机构面临着新客获取难、老客户留存转化难、运营成本高昂等困境。 那么,面对这一挑战,消费…

Leetcode面试经典150题-79.搜索单词

题目比较简单,回溯最基础的题,记得除非覆盖,否则一定要恢复现场就行 解法都在代码里,不懂就留言或者私信 class Solution {public boolean exist(char[][] board, String word) {int m board.length; int n board[0].length;i…

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C语言)

Baumer工业相机堡盟工业相机如何通过BGAPI SDK设置相机的图像剪切(ROI)功能(C语言) Baumer工业相机Baumer工业相机的图像剪切(ROI)功能的技术背景CameraExplorer如何使用图像剪切(ROI&#xff0…

公司搬迁至外地:选择新办资质还是迁移资质?

当企业面临搬迁,尤其是跨区域搬迁时,资质管理成为企业运营策略中的一个关键议题。企业需要在新办资质和迁移资质之间做出选择,这关系到企业的合规性、市场竞争力和业务连续性。本文将探讨这两种选择的考量因素,以及如何根据企业的…

cityengine修改纹理创建模型

数据准备 1、建筑shp面数据 2、安装好cityengine软件 3、Arcgis(非必要) 效果 1、新建工程 路径不要放C盘下 2、复制规则文件和纹理 安装软件后,这些素材在电脑上能找到,默认位置是:C:\Users{计算机名}\Documents\CityEngine\Default Workspace\ESRI.lib,如果找不到…

售后质保卡小程序系统开发制作方案

售后质保卡小程序系统作为一种数字化解决方案,通过微信小程序,为顾客提供更加便捷、高效、环保的质保服务体验。售后质保卡系统是集质保信息查询、报修申请、服务进度跟踪、顾客反馈等功能于一体的质保卡小程序。 目标顾客 1. 终端顾客:直接…

昇思MindSpore AI框架MindFormers实践3:ChatGLM3-6B对一段文字进行提取

MindSpore和MindFormers安装参见:昇思AI框架实践1:安装MindSpoe和MindFormers_miniconda 安装mindspore-CSDN博客 使用了MindSpore2.2和MindFormers1.0 支持的模型: KeyError: "model must be in odict_keys([gpt2, gpt2_lora, gpt2_xl, gpt2_xl…

Linux:开源世界的璀璨明珠

一、Linux 概述 Linux 是一种自由和开放源代码的类 Unix 操作系统,诞生于 1991 年,由芬兰大学生 Linus Torvalds 开发。它的起源离不开 Unix 家族,1969 年肯・汤普森设计了早期 Unix 的源头,到 1973 年丹尼斯・里奇等人以 C 语言…

基于多种智能优化算法优化BP神经网络的数据回归预测

基于多种智能优化算法优化BP神经网络的数据回归预测,主要是指通过引入一些优化算法来改进传统的BP(反向传播)神经网络的训练过程,以提高其在回归预测任务中的性能。以下是这个过程的基本原理: 代码原理及流程 1. BP神…

Java的发展史与前景

🌈个人主页:Yui_ 🌈Linux专栏:Linux 🌈C语言笔记专栏:C语言笔记 🌈数据结构专栏:数据结构 🌈C专栏:C 文章目录 0. Java语言的发展史1.概述1.1 什么是Java1.2 …

k8s 中的 Service 简介

前言 k8s 集群中的每一个 Pod 都有自己的 IP 地址,那么是不是有 IP 了,访问起来就简单了呢,其实不然。 因为在 k8s 中 Pod 不是持久性的,摧毁重建将获得新的 IP,客户端通过会变更 IP 来访问显然不合理。另外 Pod 还经…