Python 在Excel中应用和取消多种不同类型的数据筛选

目录

安装Python Excel处理库

Python 在 Excel 中应用文本筛选

Python 在 Excel 中应用数字筛选

Python 在 Excel 中应用字体颜色、单元格颜色或图标集筛选

Python 在 Excel 中应用日期筛选

Python 在 Excel 中应用动态日期筛选

Python 在 Excel 中筛选空单元格或非空单元格

Python 取消Excel 中的数据筛选


Excel中的筛选功能是一项非常实用的工具,它可以帮助用户根据特定条件或标准快速查找和显示相关数据。当应用筛选时,Excel会自动隐藏不符合条件的行,使用户能够快速聚焦于最重要的信息,从而提升数据分析的效率和准确性。在这篇文章中,我们将探讨如何使用 Python 在 Excel 中应用多种不同类型的数据筛选和取消数据筛选。主要涵盖以下内容:

  • Python 在 Excel 中应用文本筛选
  • Python 在 Excel 中应用数字筛选
  • Python 在 Excel 中应用字体颜色、单元格颜色或图标集筛选
  • Python 在 Excel 中应用日期筛选
  • Python 在 Excel 中应用动态日期筛选
  • Python 在 Excel 中筛选空单元格或非空单元格
  • Python 取消Excel 中的数据筛选

安装Python Excel处理库

要使用Python在 Excel 中应用和取消数据筛选,可以使用 Spire.XLS for Python 库。它支持在 Python 应用程序中创建、读取、编辑和转换 Excel 文件。使用该库,你可以在Excel中应用多种不同类型的数据筛选,也可以取消Excel中已有的数据筛选。

你可以通过在终端中运行以下命令从 PyPI 安装 Spire.XLS for Python:

pip install Spire.Xls

Python 在 Excel 中应用文本筛选

Excel中的文本筛选是一种基于文本内容的筛选方式,用户可以通过它筛选出符合特定条件的文本数据。它主要用于包含文字的列,比如客户名称、产品名称等,帮助用户快速查找所需的信息。

通过 Spire.XLS for Python 提供的 AddFilter() 函数,你可以在Excel 工作表中添加一个或多个文本筛选器。

以下代码展示了如何在 Python 中应用文本筛选,以筛选包含特定文字的单元格:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 创建一个筛选器,以筛选数据区域第1列中包含"笔记本"的单元格
sheet.AutoFilters.AddFilter(0, "笔记本")# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为新文件
workbook.SaveToFile("文本筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel文字筛选

有时,你可能想要筛选以特定文字开头的单元格。要实现这一功能,你可以使用 CustomFilter() 函数。以下代码展示了如何使用 Python 在Excel中应用自定义文本筛选,来筛选以特定文字开头的单元格:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 添加自定义筛选器,以筛选数据区域第5列中以"赵"开头的单元格
sheet.AutoFilters.CustomFilter(4, FilterOperatorType.Equal, String("赵*"))# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("自定义文本筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel自定义文字筛选

Python 在 Excel 中应用数字筛选

Excel中的数字筛选是一种针对数字数据的筛选功能,它允许用户根据特定的数值条件筛选数据。这在处理包含大量数字的表格时尤其有用,如销售数据、库存数量等。

要向 Excel 工作表添加数字筛选,你可以使用 CustomFilter() 函数。以下代码展示了如何使用Python在 Excel 中应用数字筛选,以筛选大于某个特定数字的单元格:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 添加自定义筛选器,以筛选数据区域第2列中值大于1000的单元格
sheet.AutoFilters.CustomFilter(1, FilterOperatorType.GreaterThan, Int32(1000))# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("数字筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel数字筛选

除了“大于”运算符之外,你还可以使用其他运算符来筛选数字,例如“小于”、“等于”、“小于或等于”等等。以下代码展示了如何使用 Python 在Excel中筛选介于两个特定数字之间的单元格:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 添加自定义筛选器,以筛选数据区域第2列中值介于100(含) 和 800(含)之间的单元格
sheet.AutoFilters.CustomFilter(1, FilterOperatorType.GreaterOrEqual, Int32(100), True, FilterOperatorType.LessOrEqual, Int32(800))# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("数字筛选1.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python 筛选Excel中介于特殊数字之间的数据

Python 在 Excel 中应用字体颜色、单元格颜色或图标集筛选

Excel中的基于字体颜色、单元格颜色或图标集的筛选是一种视觉筛选功能,可以帮助用户快速识别出具有相同格式或视觉特征的数据。

要应用单元格颜色筛选,你可以使用 AddFillColorFilter() 函数。以下代码展示了如何使用 Python 在Excel中进行基于单元格颜色的筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 创建一个筛选器,以筛选数据区域第1列中填充特定背景颜色的单元格
sheet.AutoFilters.AddFillColorFilter(0, sheet.Range["B2"].Style.Color)# 应用筛选
sheet.AutoFilters.Filter()# 将结果工作簿保存到文件
workbook.SaveToFile("单元格颜色筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel单元格背景颜色筛选

要应用字体颜色筛选,你可以使用 AddFontColorFilter() 函数。以下代码展示了如何使用 Python 在Excel中进行基于字体颜色(红色)的筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("字体颜色.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:D5"]# 创建一个筛选器,以筛选数据区域第1列中具有特定字体颜色的单元格
sheet.AutoFilters.AddFontColorFilter(0, Color.get_Red())# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("字体颜色筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

要应用图标集筛选,你可以使用 AddIconFilter() 函数。以下代码展示了如何使用 Python 在Excel中进行基于图标集的筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("图标集.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:C5"]# 创建一个筛选器,以筛选数据区域第3列中具有特定图标集的单元格
sheet.AutoFilters.AddIconFilter(2, IconSetType.ThreeArrows, 2)# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("图标集筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python 在 Excel 中应用日期筛选

Excel中的日期筛选功能允许用户基于日期条件筛选数据,以便轻松地查看和分析特定时间范围的数据。此功能对于处理包含日期信息的数据集(如销售记录、项目截止日期、考勤记录等)非常有用。

你可以使用 AddDateFilter() 函数在Excel中添加不同类型的日期筛选器。以下代码展示了如何使用Python在Excel中应用基于特定月份(2024年6月)的日期筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 添加一个日期筛选器,以筛选数据区域第3列中含特定月份(2024年6月)的日期的单元格
sheet.AutoFilters.AddDateFilter(2, DateTimeGroupingType.Month, 2024, 6, 0, 0, 0, 0)# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("日期筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel日期筛选

Python 在 Excel 中应用动态日期筛选

Excel中的动态日期筛选是一种特殊的筛选功能,它允许用户根据相对日期范围动态筛选数据,而不是仅基于静态日期。这种筛选功能可以自动适应当前日期,便于实时查看和分析数据。

要应用动态日期筛选,你可以使用 DynamicFilter() 函数。以下代码展示了如何使用Python在Excel中应用基于当前年份的动态日期筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("销售.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:F11"]# 添加一个动态筛选器,以筛选数据区域第3列中含当前年份的日期的单元格
sheet.AutoFilters.DynamicFilter(2, DynamicFilterType.ThisYear)# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("动态日期筛选.xlsx", FileFormat.Version2016)
workbook.Dispose()

Python Excel动态日期筛选

Python 在 Excel 中筛选空单元格或非空单元格

Excel中的空单元格可能对数据分析产生影响,导致计算不准确,进而影响数据的分析结果。你可以使用 MatchNonBlanks() 函数来实现仅筛选非空单元格。以下代码展示了如何使用Python在Excel中应用非空单元格筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("测试.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:E7"]# 添加一个非空筛选器,以筛选数据区域第1列中的非空单元格
sheet.AutoFilters.MatchNonBlanks(0)# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("筛选非空单元格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 筛选Excel非空单元格

如果需要筛选空单元格,你可以使用 MatchBlanks() 函数。以下代码展示了如何使用Python在Excel中应用空单元格筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("测试.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 指定要筛选的数据区域
sheet.AutoFilters.Range = sheet.Range["A1:E7"]# 添加一个空筛选器,以筛选数据区域第1列中的空单元格
sheet.AutoFilters.MatchBlanks(0)# 应用筛选
sheet.AutoFilters.Filter()# 将筛选结果保存为文件
workbook.SaveToFile("筛选空单元格.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

Python 取消Excel 中的数据筛选

如果不再需要筛选,你可以使用 Clear() 函数将其从工作表中清除。以下代码展示了如何使用 Python 清除Excel 工作表中的所有筛选:

from spire.xls import *
from spire.xls.common import *# 创建一个Workbook对象
workbook = Workbook()
# 加载Excel文件
workbook.LoadFromFile("动态日期筛选.xlsx")# 获取第一个工作表
sheet = workbook.Worksheets[0]# 删除工作表中的所有筛选
sheet.AutoFilters.Clear()# 将结果工作簿保存为文件
workbook.SaveToFile("取消筛选.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

以上就是使用Python在Excel中应用各种不同类型的数据筛选,以及如何清除Excel中现有的数据筛选的全部内容。本文完结。

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

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

相关文章

【ArcGIS Pro第一期】界面简介

ArcGIS Pro简介 ArcGIS Pro界面简介1.1 打开工程1.2 使用功能区上的工具 参考 ArcGIS Pro 是一种基于功能区的应用程序。 ArcGIS Pro 窗口顶部的功能区有许多命令可供选择,而根据需要打开的各个窗格(可停靠窗口)中则提供了更为高级或专用的功…

快速排序(QuickSort)-归并排序(MergeSort)[java编写]

1. 快速排序 1.1 基本概述 快速排序采用分治思想,即在一个无序的序列中选取一个任意的基准元素pivot,利用pivot 将待排序的序列分成两部分,前面部分元素均小于或等于基准元素,后面部分均大于或等于基准元素,然后采用…

参会邀请 | 第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)

第二届机器视觉、图像处理与影像技术国际会议(MVIPIT 2024)将于2024年9月13日-15日在中国张家口召开。 MVIPIT 2024聚焦机器视觉、图像处理与影像技术,旨在为专家、学者和研究人员提供一个国际平台,分享研究成果,讨论…

算法训练营——day3长度最小子数组

1 长度最小子数组-力扣209(中等) 1.1 题目: 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的 子数组 [numsl, numsl1, ..., numsr-1, numsr] ,并返…

基于orangePi的智能家居系统

目录 一.接线图 1.orangePi接线 2.继电器接线 二.语音模块的配置 1.pin脚的配置 2.命令词自定义信息 三.测试 1.通过gpio指令测试烟雾检测器是否正确连接 2.编写脚本测试其他模组接线是否正常 四.人脸识别方案 1.首先开通人脸搜索识别服务 2. 点击产品控制台,向人…

2024年四川省安全员B证证考试题库及四川省安全员B证试题解析

题库来源:安全生产模拟考试一点通公众号小程序 2024年四川省安全员B证证考试题库及四川省安全员B证试题解析是安全生产模拟考试一点通结合(安监局)特种作业人员操作证考试大纲和(质检局)特种设备作业人员上岗证考试大…

ARM----时钟

时钟频率可以是由晶振提供的,我们需要高频率,但是外部接高的晶振会不稳定,所有使用PLL(锁相环)来放大频率。接下来就让我们学习用外部晶振提供的频率来配置时钟频率。 一.时钟源的选择 在这里我们选择外部晶振作为时钟…

数据库面试题学习

B树和B树 B树 排好序的 节点内部有多个元素 B树 排好序的 节点内多个元素 叶子节点有指针(双向指针) 非叶子节点冗余了一份在叶子节点 mysql定义B树 InnoDB B树是B树的升级版~ InnoDB b树是怎么产生的 mysql 页 目录 16KB 自增id uuid 一页最多可以存储…

【精选】文件摆渡系统:跨网文件传输的安全与效率之选

文件摆渡系统可以解决哪些问题? 文件摆渡系统(File Shuttle System)主要是应用于不同网络、网段、区域之间的文件数据传输流转场景, 用于解决以下几类问题: 文件传输问题: 大文件传输:系统可…

Windows bat脚本学习九(srec_cat)

一、简介 srec_cat是一个在嵌入式开发中,使用非常频繁的软件,这里做个常用功能的介绍。 二、常用参数 文件类型 在使用srec_cat指令时,在输入文件和输出文件时,要指明文件的类型,如: input.hex -intel …

2024国赛数学建模C题完整论文:农作物的种植策略

农作物种植策略优化的数学建模研究(完整论文,持续更新,大家持续关注,更新见文末名片 ) 摘要 在本文中,建立了基于整数规划、动态规划、马尔科夫决策过程、不确定性建模、多目标优化、相关性分析、蒙特卡洛…

网络层 VII(IP多播、移动IP)【★★★★★★】

一、IP 多播 1. 多播的概念 多播是让源主机一次发送的单个分组可以抵达用一个组地址标识的若干目的主机,即一对多的通信。在互联网上进行的多播,称为 IP 多播(multicast , 以前曾译为组播)。 与单播相比,在一对多的…

Linux_kernel移植uboot07

一、移植 根据硬件平台的差异,将代码进行少量的修改,修改过后的代码在目标平台上运行起来 移植还需要考虑硬件环境,驱动只需要考虑内核的环境 二、移植内容 1、移植Uboot uboot属于bootloader的一种,还有其他的bootloader&#x…

【超简单】1分钟解决ppt全文字体一键设置

省流 ppt的全部字体需要在“幻灯片母版”里面,“自定义字体”去设置好标题与正文的字体之后才算全部设置完毕 “视图”---“幻灯片母版” 找到“字体”---“自定义字体” 设置好中文和西文的字体,都可以按照自己的选择来,保存即可 吐槽 之…

通信工程学习:什么是FEC前向纠错

FEC:前向纠错 FEC(Forward Error Correction,前向纠错)是一种增加数据通信可信度的技术,广泛应用于计算机网络、无线通信、卫星通信等多种数据传输场景中。其基本原理和特点可以归纳如下: 一、FEC前向纠错…

固态硬盘装系统有必要分区吗?

前言 现在的新电脑有哪一台是不使用固态硬盘的呢?这个好像很少很少了…… 有个朋友买了一台新的笔记本电脑,开机之后,电脑只有一个分区(系统C盘500GB)。这时候她想要给笔记本分区…… 这个真的有必要分区吗&#xf…

golang关于slice map函数传参的小问题

问题 函数传参了一个slice,在函数内触发了对长度的修改(添加或删除),但是未影响函数外的实参由此产生了另一个问题,我们用map在函数内修改会不会有影响不到实参的情况? 结论 map作为函数参数时是引用传递…

TCP 拥塞控制

概念详解 TCP拥塞控制是网络通信中的一个关键机制,它通过动态调整发送数据的速率来避免网络拥塞。以下是TCP拥塞控制的详细概念解释: 拥塞窗口(CWND, Congestion Window): 定义:发送方在收到接收方的确认(…

Java 面试题:通过JProfile排查OOM问题 内存溢出与内存泄漏问题 --xunznux

文章目录 如何通过JProfile排查OOM或内存泄漏问题1、启动工具观测程序执行状态2、使用默认设置采样3、查看memory,Run GC无效4、查看 Live Memory发现两个byte大数组存在5、通过快照查看堆中的内存使用情况6、找到Full GC无法清除的对象通过大对象列表定位内存泄漏问…