1.过滤和排序

如果你想对表格进行过滤或排序,openpyxl有提供对应的设置,但是,只是添加过滤排序选项,并不会真的操作数据,如果想要操作,还是得在Excel中手动点击

2.代码

from openpyxl import Workbookwb = Workbook()
ws = wb.active# 准备数据
rows = [['月份', '桃子', '西瓜', '龙眼'],[1, 38, 28, 29],[2, 52, 21, 35],[3, 39, 20, 69],[4, 51, 29, 41],[5, 39, 39, 31],[6, 30, 41, 39],
]
for row in rows:ws.append(row)ws.auto_filter.ref = "A1:D7"  # 选择数据范围
ws.auto_filter.add_filter_column(1, ["39", "29", "30"])  # 选择第2列为过滤数据(下标从0开始),并勾选需要过滤的数据项
ws.auto_filter.add_sort_condition("C2:C7", True)  # 设置排序范围,第二个参数是是否倒序,默认为否wb.save("./openpyxl/test.xlsx")

效果如下

3.pandas排序

虽然openpyxl不能真的实现排序,但是我们可以借助超级强大的pandas轻松实现排序

import pandas as pd
# 读取上一步保存的Excel文件
df = pd.read_excel("./openpyxl/test.xlsx", sheet_name="Sheet")
df_value = df.sort_values(by=["桃子", "西瓜"], ascending=False)  # 如果"桃子"数据相同再按照"西瓜"进行排列
# 保存文件
writer = pd.ExcelWriter('./openpyxl/sort_file.xlsx')
df_value.to_excel(writer, sheet_name='Sheet1', index=False)
writer.save()

【openpyxl】过滤和排序相关推荐

  1. 最详细的Excel模块Openpyxl教程(四)-过滤和排序操作

    在上期的推文中,我们介绍了使用openpyxl来进行公式的设置等操作,相关推文可以从本公众号的底部相关菜单获取.接下来的推文我们来学习一下openpyxl这个python模块中的其他知识,我们这次的推 ...

  2. SQL基础--过滤和排序

    为什么80%的码农都做不了架构师?>>>    --======================================= --SQL基础-->过滤和排序 --==== ...

  3. 2,列表渲染指令v-for以及过滤和排序---vue教程

    列表渲染指令 过滤 v-for的使用 遍历数组和对象 遍历数组: <ul><li v-for ="(book,index) in books":key=" ...

  4. 如何在 Django REST Framework 中对分页结果过滤和排序?

    作者 | 大江狗  责编 | 张文 来源 | Python Web 与 Django 开发 (ID:Python_Web_Django) 在本篇文章中我们将向你演示如何在 Django REST Fr ...

  5. 在ASP.NET MVC5中实现具有服务器端过滤、排序和分页的GridView

    背景 在前一篇文章<[初学者指南]在ASP.NET MVC 5中创建GridView>中,我们学习了如何在 ASP.NET MVC 中实现 GridView,类似于 ASP.NET web ...

  6. PHP elasticsearch 条件过滤、排序、高亮实现

    php在做搜索引擎时,进程要对结果进行筛选,所以我们这里记录一下elasticsearch 条件过滤.排序.高亮实现.在创建索引时如果使用了mapping映射,请将要过滤和排序的字段index设置为t ...

  7. 【Vue】基础系列(五)列表渲染v-for | key的原理 | 数组 | 对象 | 删除替换 | 过滤与排序

    1. 列表显示 v-for指令 用于展示列表数据 语法:v-for="(item, index) in xxx" :key="yyy" 可遍历:数组.对象.字符 ...

  8. Java Stream(求和,过滤,排序)

    前言 利用Java8 新特性 Stream进行求和.过滤.排序. 提示:以下是本篇文章正文内容,下面案例可供参考 1.创建实体类 代码如下(示例): @Data public class Employ ...

  9. 浅谈SwiftUI 3.0新加入的CoreData动态FetchRequest过滤与排序特性

    功能需求 如今,CoreData背后支持的SwiftUI项目越发常见. 我们知道,在Swift 3.0之前显示动态过滤和排序的数据有些棘手. 不过从Swift 3.0开始,Apple为我们增强了Fet ...

最新文章

  1. Python LEGB (Local, Enclosing, Global, Build in) 规则
  2. window 下Eclipse c++的开发环境配置
  3. 'unicodeescape' codec can't decode bytes in position 16-17: malformed \N character escape
  4. 八条是阿里6万工程师正在重点攻克的难关
  5. Chinese savior crepe
  6. SQLite 入门教程(三)好多约束 Constraints
  7. jQuery控制表单重置
  8. 50Hz工频干扰消除
  9. 计算机一级天文小知识,不得了,天文知识增加了! | 第20期
  10. HDF5数据模型介绍及h5py
  11. shell 开机自动执行_【自研】开机自动登陆佛大校园网程序安装全教程
  12. 语音用户如何计算机,笔记本电脑语音聊天对方听不清声音该怎么处理
  13. CentOS 7:设置静态/动态ip地址
  14. 大数据去重解决方案总结
  15. 针对Linux系统主机,进入修复模式,解决开机报错问题
  16. 阿里旺旺自动回复工具开发一
  17. java中play什么意思_Play 框架学习 (二) 介绍Play及基本概念
  18. 阿里云智能 AIoT 首席科学家丁险峰:阿里全面进军 IoT 这一年 | 问底中国 IT 技术演进...
  19. Educational Codeforces Round 95 (Rated for Div. 2)D. Trash Problem(权值线段树+离散化)
  20. SwiftUI小技巧之如何获取全球语言编码

热门文章

  1. 单片机dac c语言,基于单片机Stm32f103 DAC电流输出解决方案
  2. 用html编写诗句春晓,春晓-古诗
  3. 普乐蛙VR航天体验|航天vr设备|航空vr设备厂家案例分享
  4. c++ set使用(增删查遍历)
  5. 【前端】Vue实现个人空间
  6. change charset of existed MySQL db
  7. 深入理解JVM的PC寄存器(Program Counter Register)
  8. 大数据-------元数据管理
  9. Python聊天室设置与实现
  10. 生物信息学常用名词解释