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

news2024/9/25 19:14:17

目录

安装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.coloradmin.cn/o/2110092.html

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

相关文章

再做leetcode42hard题接雨水——双指针法

再做leetcode42hard题接雨水——双指针法 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释&#xff1a…

在jenkins中获取git的修改记录的方法

获取 Jenkins API Token: 首先,登录到你的 Jenkins 服务器。 点击右上角的用户名,然后选择“Configure(配置)”。 在“API Token”部分,生成一个新的 API Token 或使用已有的 Token。 构建 API 请求 URL&a…

k8s上搭建devops环境

一、gitlab 1.安装gitlab # 下载安装包 wget https://mirrors.tuna.tsinghua.edu.cn/gitlab-ce/yum/el7/gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm # 安装 rpm -i gitlab-ce-15.9.1-ce.0.el7.x86_64.rpm # 编辑 vi /etc/gitlab/gitlab.rb 文件 # 修改 external_url 访问路径 htt…

网络安全工程师培训费用

在当今这个信息化迅猛发展的时代,网络安全已成为各行各业关注的焦点。作为保障网络信息安全的中坚力量,网络安全工程师的需求量逐年攀升。随之而来的是,越来越多的人对网络安全工程师的培训费用充满了好奇。本文将为您详细解析这一问题&#…

内存卡不小心格式化了有办法恢复数据吗?

在数字时代,内存卡作为便携式存储设备,广泛应用于手机、相机等设备中。然而,由于操作不当或设备故障,内存卡有时会被不小心格式化,导致存储在其中的重要数据丢失。 面对这种情况,许多人可能会感到焦虑&…

C语言求100以内的素数

问题:用C语言求出100以内的素数。 分析:素数,即质数,是指只可以被1和本身整除的数。此时可以考虑用循环的方法来用这个数除以所有1001以内的数,若存在余数为0的情况,则说明该数不是素数;此外&am…

MyBatis 一级缓存原理

优质博文&#xff1a;IT-BLOG-CN 一、一级缓存配置 MyBatis一级缓存默认是开启的。如果需要显示的开启&#xff0c;需要在MyBaits配置文件中<settings>标签中添加如下语句&#xff1a; <settings><setting name"localCacheScope" value"SESSI…

k8s之HPA实践——实现Web服务器的自动伸缩特性

文章目录 在生产环境中&#xff0c;总会有一些意想不到的事情发生&#xff0c;比如公司网站流量突然升高&#xff0c;此时之前创建的Pod已不足以支撑所有的访问&#xff0c;而运维人员也不可能24小时守着业务服务&#xff0c;这时就可以通过配置HPA&#xff0c;实现负载过高的情…

APP黄金流量:如何完成首页入口资源位最大价值

首页资源位的使用很重要 首页资源位&#xff0c;是指用户打开并进入 App 后&#xff0c;所有直接展示给用户内容&#xff0c;即不需要用户滑动页面就看到的内容&#xff0c;都是首页资源位。 移动互联网流量即王道&#xff0c;而 App 首页展示给用户的内容&#xff0c;会直接…

基于CNN卷积神经网络迁移学习的图像识别实现

基于CNN卷积神经网络迁移学习的图像识别实现 基于CNN卷积神经网络迁移学习的图像识别实现写在前面一&#xff0c;原理介绍迁移学习的基本方法1.样本迁移&#xff08;Instance based TL&#xff09;2.特征迁移&#xff08;Feature based TL&#xff09;3.模型迁移&#xff08;Pa…

html+css网页设计 我的家乡5个页面

htmlcss网页设计 我的家乡5个页面 网页作品代码简单&#xff0c;可使用任意HTML辑软件&#xff08;如&#xff1a;Dreamweaver、HBuilder、Vscode 、Sublime 、Webstorm、Text 、Notepad 等任意html编辑软件进行运行及修改编辑等操作&#xff09;。 获取源码 1&#xff0c;访…

第二证券:北交所新股申购和沪深两市有什么区别?

北交所新股申购和沪深新股申购的区别&#xff1a; 1、申购条件不同 深市、沪市申购新股前第22个交易日至申购前第2个交易日的日均持有市值在1万元以上的投资者可参加新股申购。 此外&#xff0c;创业板&#xff08;深市&#xff09;新股申购有必要注册创业板权限。创业板注册…

哈希扩展(位图与布隆过滤器)

文章目录 位图布隆过滤器实现原理&#xff1a;HashMap的问题布隆过滤器结果 海量数据处理位图应用布隆过滤器应用 位图 问题&#xff1a;从40亿个没有排序的无符号整数查找一个数是否存在 方法一&#xff1a; 依次遍历&#xff1a;O(N) 太慢了 排序 二分 1G 1024MB 1024 …

Python3.12兼容性问题-ImpImporter替换的解决办法

前言 目前现有的很多Python代码都是基于Python3.8、或者Python3.9的甚至是更早的版本。 当我们用最新的Python3.12来跑这些程序的时候&#xff0c;就会出现很多兼容性的问题。 本文就对“ImpImporter”和“zipimporter”的替换问题给出了一个解决方案。 1、错误描述 Attribu…

JVM系列(七) -对象的内存分配流程

一、摘要 在之前的文章中,我们介绍了类加载的过程、JVM 内存布局和对象的创建过程相关的知识。 本篇综合之前的知识,重点介绍一下对象的内存分配流程。 二、对象的内存分配原则 在之前的 JVM 内存结构布局的文章中,我们介绍到了 Java 堆的内存布局,由 年轻代 (Young Ge…

2024数学建模国赛D题39页成品论文+每小问解题代码+可视化结果

2024 年高教社杯全国大学生数学建模竞赛完整分析文章 点击链接加入群聊【2024数学建模国赛资料汇总】&#xff1a;http://qm.qq.com/cgi-bin/qm/qr?_wv1027&klZncBILk30DuPRI1Bd8X-3Djv7ZVZyAv&authKeykKqNSSEbbZN%2FVKn%2BICOqJGahEHfhJEe7BSxK5IMua%2BYQqwaHkGaHvK…

ArrayList是线程安全的吗?怎么解决?

ArrayList是一个线程不安全的容器&#xff0c;如果在多线程中使用ArrayList&#xff0c;可能会导致程序出错。那可能是哪些问题呢&#xff1f;请看一个例子&#xff1a; package test;import java.util.ArrayList;/*** ArrayList并发问题演示*/ public class ArrayListMultiTh…

渗透测试中目标主机不出网的解决办法

当目标主机无法直接访问互联网时&#xff08;即“目标主机不出网”&#xff09;&#xff0c;渗透测试的难度会增加&#xff0c;因为攻击者无法通过通常的外部资源&#xff08;如命令与控制服务器、远程主机&#xff09;与目标通信。然而&#xff0c;有多种技术可以帮助渗透测试…

Bagging: 数量,而不是质量。

由 AI 生成&#xff1a;过度简化的树、引导聚合、集成方法、弱学习器、减少方差 集成方法 — 数量&#xff0c;而不是质量 一、说明 机器学习中的集成方法是指组合多个模型以提高预测性能的技术。集成方法背后的基本思想是聚合多个基础模型&#xff08;通常称为弱学习器&#…

在JavaScript当中,为什么NaN===NaN和NaN==NaN返回false?

作者&#xff1a;CSDN-PleaSure乐事 欢迎大家阅读我的博客 希望大家喜欢 使用环境&#xff1a;vscode chrome 今天这个话题的缘由是早上和一位同专业的学长聊天&#xff0c;他在公司完成了一个项目&#xff0c;项目当中有一个40个字段的返回值&#xff0c;于是牵扯到了某道他遇…