最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python刪除Excel中的指定行列

 更新時(shí)間:2025年09月26日 10:20:38   作者:咕白m625  
在日常數(shù)據(jù)處理中,我們經(jīng)常需要對(duì)?Excel?文件進(jìn)行編輯,其中刪除不必要的行和列是常見(jiàn)操作,下面我們就來(lái)看看如何使用Python實(shí)現(xiàn)這一需求吧

在日常數(shù)據(jù)處理中,我們經(jīng)常需要對(duì) Excel 文件進(jìn)行編輯,其中刪除不必要的行和列是常見(jiàn)操作。本文將介紹如何使用免費(fèi)庫(kù) Free Spire.XLS for Python 來(lái)高效刪除 Excel 中的行和列,幫助你簡(jiǎn)化數(shù)據(jù)處理流程。

一、Free Spire.XLS:輕量級(jí) Excel 操作庫(kù)

在 Python 生態(tài)中,處理 Excel 的主流庫(kù)包括 pandasopenpyxl,與它們相比 Free Spire.XLS 具有以下優(yōu)勢(shì):

  • 無(wú)需依賴 Office,獨(dú)立運(yùn)行,跨平臺(tái)兼容
  • 支持多格式, .xls、.xlsx、.csv 全覆蓋
  • 保留原始樣式,刪除操作后不影響表格樣式

二、具體操作:刪除行與列的完整流程

1. 安裝免費(fèi)庫(kù)

通過(guò) pip 安裝(注意:有篇幅限制):

pip install Spire.Xls.Free

2. 刪除指定行

from spire.xls import *
from spire.xls.common import *

# 加載 Excel
workbook = Workbook()
workbook.LoadFromFile("input.xlsx")

# 定位到第一個(gè)工作表
worksheet = workbook.Worksheets[0]

# 刪除第2行(索引從1開(kāi)始)
worksheet.DeleteRow(2)

# 保存結(jié)果
workbook.SaveToFile("output.xlsx", FileFormat.XLSX)

關(guān)鍵點(diǎn):

  • 刪除后,后續(xù)行會(huì)自動(dòng)上移,無(wú)需額外調(diào)整
  • 支持刪除多行:DeleteRows(start_index, count)

3. 刪除指定列

# 繼續(xù)使用上文的 workbook 對(duì)象  
worksheet.DeleteColumn(1)  # 刪除第1列
workbook.SaveToFile("output.xlsx")  

注意事項(xiàng):

  • 刪除列后,表格寬度自動(dòng)縮減
  • 若需刪除多列,優(yōu)先刪除靠右的列以避免索引錯(cuò)位

三、方法補(bǔ)充

使用 Python 刪除 Excel 表格中的行

刪除特定行

如果你已知需要?jiǎng)h除的行號(hào),可以使用Worksheet.DeleteRow(rowIndex: int, rowCount: int) 方法,通過(guò)指定起始行號(hào)和刪除行數(shù),直接移除一行或多行數(shù)據(jù)。這種方式適用于結(jié)構(gòu)固定或需要批量刪除指定位置行的 Excel 表格。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 調(diào)用 DeleteRow() 方法刪除指定行。
  • 保存修改后的文件。

實(shí)現(xiàn)代碼:

from spire.xls.common import *
from spire.xls import *
 
# 創(chuàng)建 Workbook 對(duì)象
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
 
# 獲取第一個(gè)工作表
worksheet = workbook.Worksheets[0]
 
# 從第 5 行開(kāi)始刪除 2 行
worksheet.DeleteRow(5, 2)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除特定行.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

刪除空白行

在處理 Excel 表格時(shí),空白行會(huì)影響數(shù)據(jù)的完整性和可讀性。使用 Worksheet.Rows[index].IsBlank 屬性,可以輕松判斷某一行是否為空。若返回值為 True,則說(shuō)明該行為空白行,可使用 DeleteRow() 方法將其刪除。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 倒序遍歷所有行,使用 IsBlank 屬性判斷其是否為空。
  • 對(duì)空白行調(diào)用 DeleteRow() 方法進(jìn)行刪除。
  • 保存修改后的 Excel 文件。

實(shí)現(xiàn)代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建 Workbook 實(shí)例
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
 
# 刪除空白行(倒序遍歷避免索引錯(cuò)誤)
for i in range(sheet.Rows.Length - 1, -1, -1):
    if sheet.Rows[i].IsBlank:
        sheet.DeleteRow(i + 1)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除空白行", ExcelVersion.Version2013)
workbook.Dispose()

刪除含指定數(shù)據(jù)的行

當(dāng)需要?jiǎng)h除某些包含特定關(guān)鍵詞(如“已取消”、“無(wú)效”)的行時(shí),可通過(guò)Worksheet.FindAll()方法查找關(guān)鍵詞所在的單元格并獲取其所在行,再使用DeleteRow()方法刪除這些行。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 使用 FindAll() 方法查找包含指定內(nèi)容的所有單元格。
  • 提取這些單元格所在的行索引,并去重。
  • 倒序遍歷行索引并使用DeleteRow()方法逐行刪除。
  • 保存處理后的文件。

實(shí)現(xiàn)代碼:

from spire.xls.common import *
from spire.xls import *
 
# 創(chuàng)建 Workbook 對(duì)象
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
 
# 獲取第一個(gè)工作表
worksheet = workbook.Worksheets[0]
 
# 查找包含特定值的單元格
ranges = worksheet.FindAll("已取消", FindType.Text, ExcelFindOptions.MatchEntireCellContent)
# 存儲(chǔ)行索引
row_indexes = []
 
# 遍歷查找到的單元格
for range in ranges:
    row_index = range.Row
    if row_index not in row_indexes:
        row_indexes.append(row_index)
 
# 倒序排列行索引
row_indexes.sort(reverse=True)
 
# 逐行刪除
for row_index in row_indexes:
    worksheet.DeleteRow(row_index)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除含特定數(shù)據(jù)的行.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

使用 Python 刪除 Excel 表格中的列

刪除特定列

若已明確某些列不再需要,可通過(guò)使用Worksheet.DeleteColumn(columnIndex: int, columnCount: int) 方法,刪除一列或多列。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 使用 DeleteColumn() 方法,從工作表中刪除指定列。
  • 保存修改后的文件。

實(shí)現(xiàn)代碼:

from spire.xls.common import *
from spire.xls import *
 
# 創(chuàng)建 Workbook 對(duì)象
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
 
# 獲取第一個(gè)工作表
worksheet = workbook.Worksheets[0]
 
# 從第 3 列開(kāi)始刪除 2 列
worksheet.DeleteColumn(3, 2)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除特定列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

刪除空白列

空白列在 Excel 表格中同樣會(huì)造成數(shù)據(jù)干擾。使用 Worksheet.Columns[index].IsBlank 屬性可以檢測(cè)列是否為空,若返回值為 True,即可調(diào)用 DeleteColumn() 方法刪除該列。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 倒序遍歷所有列,使用IsBlank屬性判斷其是否為空。
  • 若為空,則調(diào)用 DeleteColumn() 方法進(jìn)行刪除。
  • 保存修改后的文件。

實(shí)現(xiàn)代碼:

from spire.xls import *
from spire.xls.common import *
 
# 創(chuàng)建 Workbook 實(shí)例
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
# 獲取第一個(gè)工作表
sheet = workbook.Worksheets[0]
 
# 刪除空白列(倒序遍歷避免索引混亂)
for i in range(sheet.Columns.Length - 1, -1, -1):
    if sheet.Columns[i].IsBlank:
        sheet.DeleteColumn(i + 1)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除空白列.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

刪除含指定數(shù)據(jù)的列

如果你需要?jiǎng)h除包含某個(gè)特定值的整列數(shù)據(jù),比如含有“測(cè)試”的列,可以使用Worksheet.FindAll()方法查找數(shù)據(jù),獲取其所在單元格,獲取該單元格所在列,再調(diào)用 DeleteColumn() 方法刪除對(duì)應(yīng)列。

實(shí)現(xiàn)步驟:

  • 創(chuàng)建 Workbook 對(duì)象并加載 Excel 文件。
  • 獲取目標(biāo)工作表。
  • 使用 FindAll() 方法查找包含指定文本的單元格;
  • 提取這些單元格所在的列索引,并去重;
  • 倒序遍歷列索引并使用DeleteColumn()方法逐列刪除;
  • 保存文件。

實(shí)現(xiàn)代碼:

from spire.xls.common import *
from spire.xls import *
 
# 創(chuàng)建 Workbook 對(duì)象
workbook = Workbook()
# 加載 Excel 文件
workbook.LoadFromFile("測(cè)試.xlsx")
 
# 獲取第一個(gè)工作表
worksheet = workbook.Worksheets[0]
 
# 查找包含指定值的單元格
ranges = worksheet.FindAll("測(cè)試", FindType.Text, ExcelFindOptions.MatchEntireCellContent)
# 存儲(chǔ)列索引
col_indexes = []
 
# 遍歷查找到的單元格
for range in ranges:
    col_index = range.Column
    if col_index not in col_indexes:
        col_indexes.append(col_index)
 
# 倒序排列列索引
col_indexes.sort(reverse=True)
 
# 逐列刪除
for col_index in col_indexes:
    worksheet.DeleteColumn(col_index)
 
# 保存結(jié)果文件
workbook.SaveToFile("刪除含指定數(shù)據(jù)的列.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

本文介紹了使用 Free Spire.XLS for Python 庫(kù)刪除 Excel 中行和列的具體方法。該庫(kù)提供了對(duì)應(yīng)的 API,可實(shí)現(xiàn)單個(gè)行 / 列及多個(gè)連續(xù)行 / 列的刪除操作,操作過(guò)程需遵循其索引規(guī)則及資源管理要求。

到此這篇關(guān)于使用Python刪除Excel中的指定行列的文章就介紹到這了,更多相關(guān)Python刪除Excel指定行列內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評(píng)論

江津市| 青岛市| 兴宁市| 资中县| 比如县| 兰州市| 望奎县| 吴旗县| 津南区| 南木林县| 合水县| 庆城县| 永仁县| 德江县| 吉安县| 金华市| 永清县| 绥芬河市| 顺平县| 海兴县| 梓潼县| 广平县| 汉源县| 林周县| 榆树市| 吉水县| 金沙县| 九台市| 唐河县| 和平区| 尉氏县| 裕民县| 新巴尔虎左旗| 乐山市| 漾濞| 连江县| 宜君县| 平山县| 新竹县| 瓦房店市| 丹江口市|