在处理大量 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 天的临时许可证。