Python 对Excel工作表中的数据进行排序

Excel中,排序是整理数据的一种重要方式,它可以让你更好地理解数据,并为进一步的分析和报告做好准备。本文将介绍如何使用第三方库Spire.XLS for Python通过Python来对Excel中的数据进行排序。包含以下三种排序方法示例:

  1. 按数值大小排序
  2. 按单元格颜色排序
  3. 按字体颜色排序


安装Python库:

在使用Spire.XLS for PythonExcel工作表中的数据进行排序之前,需要先使用以下命令安装该库:

pip install Spire.XLS

SortColumns.Add 方法介绍:

本文中介绍的三种排序方式主要用到的方法为 SortColumns.Add(key, sortComparsionType, orderBy)。 其中三种参数分别代表:

  • key:需要对数据进行排序的指定列的索引。
  • sortComparsionType:用于指定排序的方式,支持基于单元格数值排序(Values)、基于单元格颜色排序(BackgroundColor)、基于字体颜色排序(FontColor)。
  • orderBy:表示排序的次序,如升序 (Ascending),降序 (Descending),将指定值置于最顶端(Top, 将指定值置于最底端(Bottom)。

代码示例如下:

1. 按数值大小排序

from spire.xls.common import *
from spire.xls import *inputFile = "排序.xlsx"
outputFile = "按数值排序.xlsx"# 加载一个Excel文档
workbook = Workbook()
workbook.LoadFromFile(inputFile)# 获取第一张工作表
worksheet = workbook.Worksheets[0]# 将第一列指定范围内的数据按大小降序排列
workbook.DataSorter.SortColumns.Add(0, SortComparsionType.Values, OrderBy.Descending)
workbook.DataSorter.Sort(worksheet["A1:A10"])# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()

数值从大到小排列: 

2. 按单元格颜色排序

from spire.xls.common import *
from spire.xls import *inputFile = "排序.xlsx"
outputFile = "按单元格颜色排序.xlsx"# 加载一个Excel文档
workbook = Workbook()
workbook.LoadFromFile(inputFile)# 获取第二张工作表
worksheet = workbook.Worksheets[1]# 将第一列指定范围内单元格颜色为红色的置于最前面
column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.BackgroundColor, OrderBy.Top)
column.Color = Color.get_Red()
workbook.DataSorter.Sort(worksheet["A1:A10"])# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()

指定颜色红色置顶:

3. 按字体颜色排序

from spire.xls.common import *
from spire.xls import *inputFile = "排序.xlsx"
outputFile = "按字体颜色排序.xlsx"# 加载一个Excel文档
workbook = Workbook()
workbook.LoadFromFile(inputFile)# 获取第三张工作表
worksheet = workbook.Worksheets[2]# 将第一列指定范围内字体颜色为红色的置于最下面
column = workbook.DataSorter.SortColumns.Add(0, SortComparsionType.FontColor, OrderBy.Bottom)
column.Color = Color.get_Red()
workbook.DataSorter.Sort(worksheet["A1:A10"])# 保存结果文件
workbook.SaveToFile(outputFile, ExcelVersion.Version2016)
workbook.Dispose()

指定红色字体置于底端:


 以上是使用Spire.XLS for Python对工作表中指定范围内的数据进行排序的3种操作方法。想了解更多Python操作Excel文件的示例,可以查看:

Spire.XLS for Python 中文教程Spire.XLS for Python 是一款专业的 Python Excel 开发组件,可以用于各种 Python 平台。Spire.XLS for Python 提供了一个对象模型 Excel 开发组件,使开发人员可以快速地在 Python 平台上完成对 Excel 的各种编程操作,如根据模板...icon-default.png?t=N7T8https://www.e-iceblue.cn/xlsforpython/spire-xls-for-python-program-guide-content.html

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

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

相关文章

从0开始的 Vue 生活

Vue 一、配置环境1.1 安装node.js1.1.1 node.js 下载1.1.2 node.js 安装1.1.3 node.js 配置 1.2 安装VSCode1.2.1 VSCode 下载1.2.2 VSCode 安装1.2.3 VSCode 配置 二、创建Vue项目2.1 使用命令行创建Vue项目2.2 使用VSCode运行Vue项目2.3 尝试编写Vue项目2.3.1 准备工作2.3.2 …

线性代数笔记14--投影

1. 一维空间投影 p X A e B − p B − X A A ⊤ e 0 A ⊤ ( B − X A ) 0 X A ⊤ A A ⊤ B X A ⊤ B A ⊤ A p X A A A ⊤ B A ⊤ A pXA\\ eB-pB-XA\\ A^{\top}e0\\ A^{\top}(B-XA)0\\ XA^{\top}AA^{\top}B\\ X\frac{A^{\top}B}{A^{\top}A}\\ pXAA\frac{A^{\top}B}{A^…

Java开发与配置用到的各类中间件官网

开发配置时用到了一些官网地址,记录一下。 activemq 官网:ActiveMQ elk 官网:Elasticsearch 平台 — 大规模查找实时答案 | Elastic nginx 官网:nginx maven 官网:Maven – Welcome to Apache Maven nexus 官网&a…

Zoom软件怎么购买?zoom付费订阅教程

首先,让我们来了解一下Zoom的各个版本以及它们的价格。简单来说,Zoom分为免费版和收费版,收费版又包括专业版、商业版和企业版。 一、免费版 Zoom的免费版功能已经非常实用了,适合个人用户和小团队使用。免费版提供以下功能: 最多…

centos7 python3.12.1 报错 No module named _ssl

https://blog.csdn.net/Amio_/article/details/126716818 安装python cd /usr/local/src wget https://www.python.org/ftp/python/3.12.1/Python-3.12.1.tgz tar -zxvf Python-3.12.1.tgz cd Python-3.12.1/ ./configure -C --enable-shared --with-openssl/usr/local/opens…

小程序学习

一、第一天 1、小程序体验 2、注册账号 小程序 (qq.com) 3、开发工具下载 下载 / 稳定版更新日志 (qq.com) 4、目录结构 "navigationBarBackgroundColor": "#00b26a" 配置头部背景色 4、wxml模板介绍 5、wxss 6、js文件 7、宿主环境 1、通信主体 2…

spring boot 2.4.x 之前版本(对应spring-cloud-openfeign 3.0.0之前版本)feign请求异常逻辑

目录 feign SynchronousMethodHandler 第一部分 第二部分 第三部分 spring-cloud-openfeign LoadBalancerFeignClient ribbon AbstractLoadBalancerAwareClient 在之前写的文章配置基础上 https://blog.csdn.net/zlpzlpzyd/article/details/136060312 因为从 spring …

Java --- springcloud之consul

目录 一、consul的使用 1.1、主要功能 1.2、安装及运行 1.3、添加微服务到consul 1.3.1、8001微服务添加相关pom、配置文件、注解 1.3.2、80微服务添加相关pom、配置文件、注解 1.4、三个注册中心异同 1.5、consul进行分布式配置 1.5.1、修改8001的yml配置文件 1.5.2…

运维知识点-Apache HTTP Server

Apache 介绍 介绍 Apache是一个开源的Web服务器软件,全称为Apache HTTP Server,由Apache软件基金会开发和维护。它是目前全球使用最广泛的Web服务器软件之一,占全球所有网络服务器的很大比例。Apache服务器具有跨平台的特性,可以…

最简k8s部署(AWS Load Balancer Controller使用)

问题 我需要在k8s集群里面部署springboot服务,通过k8s ingress访问集群内部的springboot服务,应该怎么做? 这里假设已经准备好k8s集群,而且也准备好springboot服务的运行镜像了。这里我们将精力放在k8s服务编排上面。 一图胜千言…

基于Springboot的智慧社区居家养老健康管理系统(有报告)。Javaee项目,springboot项目。

演示视频: 基于Springboot的智慧社区居家养老健康管理系统(有报告)。Javaee项目,springboot项目。 项目介绍: 采用M(model)V(view)C(controller)…

Humanoid-Gym 开源人形机器人端到端强化学习训练框架!星动纪元联合清华大学、上海期智研究院发布!

系列文章目录 前言 Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer GitHub Repository: GitHub - roboterax/humanoid-gym: Humanoid-Gym: Reinforcement Learning for Humanoid Robot with Zero-Shot Sim2Real Transfer 一、介…

[java基础揉碎]super关键字

super关键字: 基本介绍 super代表父类的引用,用于访问父类的属性、方法、构造器 super给编程带来的便利/细节 1.调用父类的构造器的好处(分工明确,父类属性由父类初始化,子类的属性由子类初始化) 2.当子类中有和父类中的成员(属性和方法)重…

软考高级:信息系统生命周期概念和例题

作者:明明如月学长, CSDN 博客专家,大厂高级 Java 工程师,《性能优化方法论》作者、《解锁大厂思维:剖析《阿里巴巴Java开发手册》》、《再学经典:《Effective Java》独家解析》专栏作者。 热门文章推荐&am…

SpringCloudGateway网关限流

文章目录 令牌桶算法原理Gateway中限流实现 网关除了请求路由、身份验证,还有一个非常重要的作用:请求限流。当系统面对高并发请求时,为了减少对业务处理服务的压力,需要在网关中对请求限流,按照一定的速率放行请求。 …

【数据结构】单链表的层层实现!! !

关注小庄 顿顿解馋(●’◡’●) 上篇回顾 我们上篇学习了本质为数组的数据结构—顺序表,顺序表支持下标随机访问而且高速缓存命中率高,然而可能造成空间的浪费,同时增加数据时多次移动会造成效率低下,那有什么解决之法呢&#xff…

VS Code引入ECharts

Charts是一个使用 JavaScript 实现的开源可视化库,涵盖各行业图表,提供了丰富的图表类型和交互能力。(摘自菜鸟教程) 下面我们来介绍一下VS Code引入ECharts的相关操作 检查电脑是否已经安装了Java语言的软件开发工具包 ECharts…

设计模式-行为型设计模式-命令模式

命令模式(Command),将一个请求封装为一个对象,从而使你可用不同的请求对客户进行参数化;对请求排队或记录请求日志,以及支持可撤销的操作。[DP] // 命令接口 interface Command {void execute(); }// 具体命…

备考银行科技岗刷题笔记(持续更新版)

银行考试计算机部分复习 IEEE 802.11的帧格式 1.1 IEEE 802.11是什么? 802.11是国际电工电子工程学会(IEEE)为无线局域网络制定的标准。目前在802.11的基础上开发出了802.11a、802.11b、802.11g、802.11n、802.11ac。并且为了保证802.11更…

java SSM售后服务管理系统myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

源码特点 java SSM售后服务管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代 码和数据库,系统主要采用B/…