在处理大量 excel 数据时,有时候我们需要用到“排序”功能以便快速组织数据。通过按升序、降序或自定义顺序排列数据,用户可以轻松发现趋势走向、分析关系并提取有价值的信息。本文将介绍如何使用 spire.xls for python 在 python 中对 excel 中的数据进行排序。
安装 spire.xls for python
此教程需要 spire.xls for python 和 plum-dispatch v1.7.4。您可以通过以下 pip 命令将它们轻松安装到 windows 中。
pip install spire.xls
如果您不确定如何安装,请参考: 如何在 windows 中安装 spire.xls for python
python 在 excel 中按列排序
spire.xls for python 提供的 workbook.datasorter.sortcolumns.add(key: int, sortcomparsiontype: sortcomparsiontype, orderby: orderby) 方法允许用户根据不同的条件对数据进行排序。例如,可以按升序、降序或其他顺序对单元格值、单元格颜色或字体颜色进行排序。
以下是对指定列中的数值进行排序的步骤:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[] 属性获取指定的工作表。
- 使用 workbook.datasorter.sortcolumns.add() 方法指定排序模式。
- 使用 workbook.datasorter.sort() 方法在指定的单元格区域内排序。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls.common import *
from spire.xls import *
# 创建workbook对象
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("产品.xlsx")
# 获取第一张工作表
worksheet = workbook.worksheets[0]
# 对指定列中的数值按升序排序
workbook.datasorter.sortcolumns.add(0, sortcomparsiontype.values, orderby.ascending)
# 在指定的单元格区域内排序
workbook.datasorter.sort(worksheet["a1:e6"])
# 保存结果文件
workbook.savetofile("列排序.xlsx", excelversion.version2016)
workbook.dispose()
python 在 excel 中按自定义列表排序
您还可以创建自定义列表,然后使用 workbook.datasorter.sortcolumns.add(key: int, customsortorder: list[str]) 方法根据该列表对数据进行排序。
以下是使用自定义列表对数据进行排序的步骤:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[] 属性获取指定的工作表。
- 创建自定义排序列表,然后使用 workbook.datasorter.sortcolumns.add() 方法对指定列进行排序。
- 使用 workbook.datasorter.sort() 方法在指定的单元格区域内排序。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls.common import *
from spire.xls import *
# 创建workbook对象
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("产品.xlsx")
# 获取第一张工作表
worksheet = workbook.worksheets[0]
# 创建自定义排序列表
customlist = ["肉类", "酒类", "水果", "零食", "饮料"]
# 使用自定义列表对指定列排序
workbook.datasorter.sortcolumns.add(4, customlist )
# 在指定的单元格区域内排序
workbook.datasorter.sort(worksheet["a1:e6"])
# 保存结果文件
workbook.savetofile("自定义排序.xlsx", excelversion.version2016)
workbook.dispose()
python 在 excel 中按行排序
要在 excel 中对指定行排序,需要将排序方向设置为从左向右(lefttoright),指定排序模式并在指定行中相应地进行排序。
以下是对指定行中的数值进行排序的步骤:
- 创建一个 workbook 类的对象。
- 使用 workbook.loadfromfile() 方法加载 excel 文件。
- 通过 workbook.worksheets[] 属性获取指定的工作表。
- 通过 workbook.datasorter.isincludetitle 属性设置排序时是否包含标题。
- 通过 workbook.datasorter.orientation 属性设置排序方向。
- 指定排序模式,然后使用workbook.datasorter.sort(worksheet.rows[0]) 方法对第一行中的数据进行排序。
- 使用 workbook.savetofile() 方法保存结果文件。
- python
from spire.xls.common import *
from spire.xls import *
# 创建workbook对象
workbook = workbook()
# 加载excel文件
workbook.loadfromfile("数据.xlsx")
# 获取第一张工作表
worksheet = workbook.worksheets[0]
# 设置排序时是否包含标题
workbook.datasorter.isincludetitle = true
# 设置排序方向
workbook.datasorter.orientation = sortorientationtype.lefttoright
# 指定排序规则
workbook.datasorter.sortcolumns.add(0,sortcomparsiontype.values,orderby.descending)
# 对第一行中的数据进行排序
workbook.datasorter.sort(worksheet.rows[0])
# 保存结果文件
workbook.savetofile("行排序.xlsx", excelversion.version2016)
workbook.dispose()
申请临时 license
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用javascript。获取有效期 30 天的临时许可证。