美文网首页数据分析
Pywin32操控Excel——2. 筛选与排序

Pywin32操控Excel——2. 筛选与排序

作者: JunChen | 来源:发表于2022-07-30 15:35 被阅读0次

筛选

AutoFilter (Field, Criteria1, Operator, Criteria2, SubField, VisibleDropDown)

参数

  • Field:要筛选的列,int, 从1开始
  • Criteria1:筛选的条件1
  • Operator:操作符
  • Criteria2:筛选的条件2
  • 其他省略,不影响使用。

Operator

这是VBA里面的参数,最好填数字,肯定不会错。

Name Value Description
xlAnd 1 Criteria1 And Criteria2
xlBottom10Items 4 筛选最小的10项 (在Criteria1填数字,如:Criteria1='10'代表筛选最小的10项)
xlBottom10Percent 6 从小到大,按百分比取数(Criteria1在1-100中取数,当数据在1为10,Criteria1='10' ,代表数据从1-10排列,筛选前面10%,就会得到1.)
xlFilterCellColor 8 Color of the cell
xlFilterDynamic 11 Dynamic filter
xlFilterFontColor 9 Color of the font
xlFilterIcon 10 Filter icon
xlFilterValues 7 Filter values,用于筛选同时筛选多个值
xlOr 2 Criteria1 Or Criteria2
xlTop10Items 3 筛选最大的10项 (Criteria1='N',指定筛选最大的N项)
xlTop10Percent 5 从大到小,按百分比取数 (Criteria1在1-100中取数,当数据为1到10,Criteria1='10' ,代表数据从10-1排列,筛选前面10%,就会得到10)

实例1 筛选最小的两项

原数据
原数据
筛选代码

import win32com.client


excelApp = win32com.client.Dispatch('Excel.Application')

excelApp.Visible = False

excelApp.DisplayAlerts = False

wb = excelApp.Workbooks.Open(r'C:\Users\12717\Desktop\test.xlsx')
ws = wb.Activesheet

ws.Range('A1:C7').AutoFilter(Field=3,Criteria1='2',Operator=4) # 筛选C列最小的2项

wb.Save()

excelApp.Quit()

效果图
效果图1

实列2 筛选多个值,多列筛选

原数据同上面的一样
筛选代码

import win32com.client


excelApp = win32com.client.Dispatch('Excel.Application')

excelApp.Visible = False

excelApp.DisplayAlerts = False

wb = excelApp.Workbooks.Open(r'C:\Users\12717\Desktop\test.xlsx')
ws = wb.Activesheet

ws.Range('A1:C7').AutoFilter(Field=1,Criteria1=['A','C','E'],Operator=7) # 先同时筛选A,C,E
ws.Range('A1:C7').AutoFilter(Field=2,Criteria1='g') # 然后B列再筛选g


wb.Save()

excelApp.Quit()

效果图
效果图2

排序

Sort (Key1, Order1, Key2, Type, Order2, Key3, Order3, Header, OrderCustom, MatchCase, Orientation, SortMethod, DataOption1, DataOption2, DataOption3)

参数

  • Key1:第一个要排序的字段
  • Order1:顺序
    • 1:升序
    • 2:降序
  • Key2:第二个排序的字段
  • Order2:顺序
  • Key3:第三个要排序的字段
  • Order3:顺序
  • MatchCase 是否区分大小写
  • SortMethod 排序方式
    • 1:PinYin
    • 2:Stroke
  • Orientation 排序方式
    • 1:按列排序
    • 2:按行排序
  • 其他省略

参数是有点多,但通常只对一个字段进行排序。对第二个字段进行排序,第一个字段不就又乱了。有点不明白为什么要进行多个字段排序。有知道可以在评论区指出。谢谢!

原数据

原数据

排序代码

import win32com.client


excelApp = win32com.client.Dispatch('Excel.Application')

excelApp.Visible = False

excelApp.DisplayAlerts = False

wb = excelApp.Workbooks.Open(r'C:\Users\12717\Desktop\test.xlsx')
ws = wb.Activesheet

ws.Range('A2:D7').Sort(Key1=ws.Range('B2'), Order1=2,Orientation=1)


wb.Save()

excelApp.Quit()

效果

效果

相关文章

  • Pywin32操控Excel——2. 筛选与排序

    筛选 AutoFilter (Field, Criteria1, Operator, Criteria2, Sub...

  • Excel 2016 For Mac 数据透视表基础应用四

    Excel 2016 For Mac 数据透视表基础应用四——排序、筛选与切片器一、使用排序筛选1、自定义排序顺序...

  • 排序

    对excel表按时间排序, 1.选定联系日期 2.选择开始-排序和筛选-筛选 3.选择降序 4选择扩展选定区域

  • 排序&筛选

    Excel不为人知的排序与筛选功能 排序和筛选也是Excel的常用功能之一,只是我不知道原来折磨厉害 1.基本用法...

  • 使用VBA编写排序代码(Sort方法)

    看看下面的Excel界面截图,“排序”和“筛选”往往在一起,这大概是很多数据需要先排序后筛选吧! 在Excel 2...

  • 2018-10-24Excel&数据库

    Excel 1. 筛选/过滤 2. 排序 升序 降序 3. 数据操作 曾 删 改 查 4. 数据统计 数据...

  • 3/28 排序与筛选

    3/28 排序和筛选 1. 普通排序时,注意是否已选“扩展选定区域”,以便将项目名称与数据同步排序。 2. 筛选时...

  • Excel怎么使用?-编辑

    Excel编辑中的排序和筛选、查找和选择也是工作中比较常用的功能。 1.排序和筛选 排序 排序有升序和降序两种(按...

  • Excel不为人知的排序与筛选功能

    排序和筛选也是Excel的常用功能之一,一般人都知道可以对数值进行排序和筛选,殊不知还有很多排序和筛选功能也很实用...

  • 筛选和排序的真正用法你确定会?

    Excel中的排序和筛选有很多应用场景,就拿Excel中的排序来说,排序应用在表格操作、数据透视表等多地方;它的方...

网友评论

    本文标题:Pywin32操控Excel——2. 筛选与排序

    本文链接:https://www.haomeiwen.com/subject/ewicwrtx.html