删除 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 提供的 Worksheet.DeleteRow(rowIndex) 和 Worksheet.DeleteColumn(columnIndex) 方法支持从 Excel 工作表中删除指定的行和列。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[sheetIndex] 属性获取所需的工作表。
- 使用 Worksheet.DeleteRow(rowIndex) 方法通过索引(从 1 开始)删除工作表中的所需行。
- 使用 Worksheet.DeleteColumn(columnIndex) 方法通过索引(从 1 开始)删除工作表中的所需列。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试1.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 删除第9行
sheet.DeleteRow(9)
# 删除第3列
sheet.DeleteColumn(3)
# 保存结果文件
workbook.SaveToFile("删除指定和和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Python 删除 Excel 中的多个行和列
你可以使用 Worksheet.DeleteRow(startRowIndex, rowCount) 和 Worksheet.DeleteColumn(startColumnIndex, columnCount) 方法一次性删除 Excel 工作表中的多个相邻行和列。具体步骤如下:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[sheetIndex] 属性获取所需的工作表。
- 使用 Worksheet.DeleteRow(startRowIndex, rowCount) 方法删除工作表中的所需行。
- 使用 Worksheet.DeleteColumn(startColumnIndex, columnCount) 方法删除工作表中的所需列。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试1.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 删除第5、6、7行
sheet.DeleteRow(5, 3)
# 删除第3、4列
sheet.DeleteColumn(3, 2)
# 保存结果文件
workbook.SaveToFile("删除多个行和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
Python 删除 Excel 中的空白行和列
你可以使用 Worksheet.Row[rowIndex].IsBlank 和 Worksheet.Column[columnIndex].IsBlank 属性来检测 Excel 中的指定行和列是否为空白。如果结果为 True,则使用 Worksheet.DeleteRow(rowIndex) 和 Worksheet.DeleteColumn(columnIndex) 方法将它们从工作表中删除。以下步骤介绍了如何从 Excel 工作表中删除空白行和列:
- 创建 Workbook 类的对象。
- 使用 Workbook.LoadFromFile() 方法加载 Excel 文件。
- 使用 Workbook.Worksheets[sheetIndex] 属性获取所需的工作表。
- 遍历工作表中已使用的行。
- 使用 Worksheet.Row[rowIndex].IsBlank 属性找到空白行,然后使用 Worksheet.DeleteRow(rowIndex) 方法删除它们。
- 遍历工作表中已使用的列。
- 使用 Worksheet.Column[columnIndex].IsBlank 属性找到空白列,然后使用 Worksheet.DeleteColumn(columnIndex) 方法删除它们。
- 使用 Workbook.SaveToFile() 方法保存结果文件。
- Python
from spire.xls import *
from spire.xls.common import *
# 创建 Workbook 对象
workbook = Workbook()
# 加载 Excel 文件
workbook.LoadFromFile("测试2.xlsx")
# 获取第一个工作表
sheet = workbook.Worksheets[0]
# 从工作表中删除空白行
for i in range(sheet.Rows.Length - 1, -1, -1):
if sheet.Rows[i].IsBlank:
sheet.DeleteRow(i + 1)
# 从工作表中删除空白列
for j in range(sheet.Columns.Length - 1, -1, -1):
if sheet.Columns[j].IsBlank:
sheet.DeleteColumn(j + 1)
# 保存结果文件
workbook.SaveToFile("删除空白行和列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()
申请临时 License
如果您希望删除结果文档中的评估消息,或者摆脱功能限制,请该Email地址已收到反垃圾邮件插件保护。要显示它您需要在浏览器中启用JavaScript。获取有效期 30 天的临时许可证。