亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python輕松實(shí)現(xiàn)查找高亮Excel指定數(shù)據(jù)

 更新時(shí)間:2025年11月04日 08:19:02   作者:咕白m625  
在日常工作中,Excel表格無疑是我們處理數(shù)據(jù)最常用的工具之一,本文將深入探討如何利用 Free Spire.XLS for Python 免費(fèi)庫完成這一任務(wù),讓你的數(shù)據(jù)處理工作效率倍增,希望對大家有所幫助

在日常工作中,Excel表格無疑是我們處理數(shù)據(jù)最常用的工具之一。無論是銷售報(bào)表、客戶清單,還是項(xiàng)目進(jìn)度,海量的行與列常常讓人望而卻步。當(dāng)我們需要從這些龐雜的數(shù)據(jù)中,快速定位并標(biāo)記出關(guān)鍵信息時(shí),手動(dòng)查找、復(fù)制、粘貼、填充顏色這一系列操作不僅效率低下,更容易因疏忽而導(dǎo)致錯(cuò)誤。

而通過 Python,結(jié)合強(qiáng)大的 Excel 操作庫,能夠輕松實(shí)現(xiàn) Excel 數(shù)據(jù)的自動(dòng)化查找與高亮。本文將深入探討如何利用 Free Spire.XLS for Python 免費(fèi)庫完成這一任務(wù),讓你的數(shù)據(jù)處理工作效率倍增。

免費(fèi)庫安裝與使用

Free Spire.XLS for Python是一個(gè)易于使用的 Python 庫,它允許開發(fā)者在不依賴 Microsoft Office 的情況下,創(chuàng)建、讀取、編輯和轉(zhuǎn)換 Excel 文件。它支持多種 Excel 格式,包括 XLS、XLSX、CSV 等,并提供了豐富的API,可以滿足各種復(fù)雜的Excel處理需求。

安裝方法:

使用 pip 安裝非常簡單:

pip install Spire.XLS.Free

安裝完成后,導(dǎo)入必要的模塊即可開始編碼:

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

實(shí)現(xiàn)步驟:查找并高亮指定數(shù)據(jù)

我們以一個(gè)實(shí)際場景為例:假設(shè)有一份銷售數(shù)據(jù) Excel(sales_data.xlsx),需要查找所有包含 "華東區(qū)" 的單元格,并將其背景色設(shè)置為黃色、字體加粗,突出顯示。

步驟 1:加載 Excel 文件并獲取目標(biāo)工作表

首先用 Workbook 類加載文件,然后通過索引獲取需要處理的工作表(這里以第一個(gè)工作表為例):

# 創(chuàng)建Workbook對象
workbook = Workbook()
# 加載Excel文件
workbook.LoadFromFile("sales_data.xlsx")

# 獲取第一個(gè)工作表(索引從0開始)
worksheet = workbook.Worksheets[0]

步驟 2:查找目標(biāo)數(shù)據(jù)

接下來需要查找工作表中包含指定數(shù)據(jù)的所有單元格,然后為查找到的單元格設(shè)置高亮背景色

# 查找指定數(shù)據(jù)
cellRanges = sheet.FindAllString("華東區(qū)", False, True)

步驟 3:設(shè)置高亮樣式

遍歷查找到的目標(biāo)單元格,通過CellRange.Style屬性設(shè)置樣式。這里我們設(shè)置:

  • • 背景色:黃色
  • • 字體:加粗、黑色(增強(qiáng)對比度)
# 遍歷查找到的單元格
for cellRange in cellRanges:
    # 設(shè)置背景色為黃色
    cellRange.Style.Color = Color.get_LightYellow()
     # 設(shè)置字體加粗
    cellRange.Style.Font.IsBold = True
    # 可選:設(shè)置字體顏色(默認(rèn)黑色,可改為深紅增強(qiáng)突出)
    # cell.Style.Font.Color = Color.Red

步驟 4:保存修改后的文件

最后將處理后的 Excel 文件保存到本地(建議另存為新文件,避免覆蓋原文件):

# 保存文件(支持xlsx、xls等格式)
workbook.SaveToFile("FindHighlight.xlsx")
# 釋放資源
workbook.Dispose()

核心方法:FindAllString

相比手動(dòng)遍歷單元格,F(xiàn)indAllString方法的優(yōu)勢在于:

  • 更簡潔:一行代碼完成所有目標(biāo)數(shù)據(jù)的查找,無需嵌套循環(huán)
  • 更高效率:底層優(yōu)化的查找邏輯,處理大型 Excel 時(shí)速度更快
  • 更靈活:支持區(qū)分大小寫、精確 / 模糊匹配等參數(shù)配置

擴(kuò)展場景

同時(shí)高亮多個(gè)關(guān)鍵詞

只需多次調(diào)用FindAllString并復(fù)用高亮邏輯:

# 定義需要查找的關(guān)鍵詞列表
keywords = ["華東區(qū)", "A產(chǎn)品"]

# 遍歷關(guān)鍵詞,逐個(gè)查找并高亮
for keyword in keywords:
    cellRanges = sheet.FindAllString(keyword, False, True)
    for cellRange in cellRanges:
        cellRange.Style.Color = Color.get_LightYellow()  # 統(tǒng)一用淺黃色

批量查找Excel數(shù)據(jù)

這個(gè)任務(wù)用Python和openpyxl庫就可以很容易地實(shí)現(xiàn)。我們只需要按照以下步驟來操作:

導(dǎo)入openpyxl庫

首先,我們需要導(dǎo)入openpyxl庫,這樣我們才能使用它提供的功能。我們可以用下面的代碼來導(dǎo)入openpyxl庫:

import openpyxl

加載Excel文件

接下來,我們需要加載我們要處理的Excel文件,也就是檔案記錄Excel文件。我們可以用openpyxl庫中的load_workbook函數(shù)來加載Excel文件,并返回一個(gè)Workbook對象。Workbook對象代表了整個(gè)Excel文件,它包含了所有的工作表sheet和其他信息。我們可以用下面的代碼來加載Excel文件,并把返回的Workbook對象賦值給一個(gè)變量wb:

wb = openpyxl.load_workbook('檔案記錄.xlsx')

注意,這里的'檔案記錄.xlsx'是我們要處理的Excel文件的名稱,你需要根據(jù)你自己的文件名來修改。

創(chuàng)建一個(gè)新的工作簿

然后,我們需要?jiǎng)?chuàng)建一個(gè)新的工作簿W(wǎng)orkbook對象,用來存放我們提取出來的數(shù)據(jù)。我們可以用openpyxl庫中的Workbook函數(shù)來創(chuàng)建一個(gè)新的工作簿,并返回一個(gè)Workbook對象。我們可以用下面的代碼來創(chuàng)建一個(gè)新的工作簿,并把返回的Workbook對象賦值給一個(gè)變量new_wb:

new_wb = openpyxl.Workbook()

創(chuàng)建一個(gè)新的工作表

接著,我們需要在新創(chuàng)建的工作簿new_wb中創(chuàng)建一個(gè)新的工作表sheet,用來存放我們提取出來的數(shù)據(jù)。我們可以用Workbook對象中的create_sheet方法來創(chuàng)建一個(gè)新的工作表,并返回一個(gè)Worksheet對象。Worksheet對象代表了一個(gè)單獨(dú)的工作表sheet,它包含了所有的單元格cell和其他信息。我們可以用下面的代碼來創(chuàng)建一個(gè)新的工作表,并把返回的Worksheet對象賦值給一個(gè)變量new_ws:

new_ws = new_wb.create_sheet('提取結(jié)果')

注意,這里的'提取結(jié)果'是我們創(chuàng)建的新工作表的名稱,你可以根據(jù)你自己的需求來修改。

復(fù)制表頭

然后,我們需要把原來的Excel文件中的表頭復(fù)制到新創(chuàng)建的工作表中,也就是把第一行的數(shù)據(jù)復(fù)制過來。我們可以用Worksheet對象中的append方法來向工作表中添加一行數(shù)據(jù),這個(gè)方法接受一個(gè)列表作為參數(shù),列表中的每個(gè)元素代表了一列的數(shù)據(jù)。我們可以用下面的代碼來復(fù)制表頭:

# 獲取原來Excel文件中的第一個(gè)工作表
ws = wb.worksheets[0]
# 獲取第一行的數(shù)據(jù)
header = [cell.value for cell in ws[1]]
# 向新創(chuàng)建的工作表中添加一行數(shù)據(jù)
new_ws.append(header)

注意,這里我們假設(shè)所有的工作表sheet都有相同的表頭,所以我們只需要獲取第一個(gè)工作表中的第一行數(shù)據(jù)即可。如果你的Excel文件中的工作表有不同的表頭,你需要根據(jù)你自己的情況來修改。

遍歷所有工作表和單元格

接下來,我們需要遍歷原來Excel文件中的所有工作表sheet,再遍歷每個(gè)工作表中的第一列(名稱列,也可以看作A列)每一個(gè)有數(shù)據(jù)的單元格cell,對單元格中的內(nèi)容進(jìn)行判斷,如果單元格中的文字為我們需要查找的檔案名,就把這一行提取出來放到新創(chuàng)建的工作表中。我們可以用下面的代碼來遍歷所有工作表和單元格:

# 遍歷原來Excel文件中的所有工作表
for ws in wb.worksheets:
    # 遍歷每個(gè)工作表中第一列每一個(gè)有數(shù)據(jù)的單元格
    for cell in ws['A']:
        # 判斷單元格中的內(nèi)容是否為我們需要查找的檔案名,比如“張三”
        # 獲取單元格所在的行號(hào)
        row = cell.row
        # 根據(jù)行號(hào)獲取這一行的數(shù)據(jù)
        data = [cell.value for cell in ws[row]]
        # 向新創(chuàng)建的工作表中添加一行數(shù)據(jù)
        new_ws.append(data)

注意,這里我們假設(shè)我們要查找的檔案名是“張三”,你可以根據(jù)你自己的需求來修改。

保存新創(chuàng)建的工作簿

最后,我們需要把新創(chuàng)建的工作簿new_wb保存到一個(gè)新的Excel文件中,這樣我們就可以查看我們提取出來的數(shù)據(jù)了。我們可以用Workbook對象中的save方法來保存工作簿,這個(gè)方法接受一個(gè)文件名作為參數(shù),表示要保存的Excel文件的名稱。我們可以用下面的代碼來保存工作簿:

new_wb.save('提取結(jié)果.xlsx')

注意,這里的'提取結(jié)果.xlsx'是我們要保存的Excel文件的名稱,你可以根據(jù)你自己的需求來修改。

結(jié)語:通過本文的介紹,我們只需幾行代碼就能完成 Excel 關(guān)鍵數(shù)據(jù)的批量查找與高亮,相比手動(dòng)遍歷更高效、更易維護(hù)。無論是日常辦公中的數(shù)據(jù)篩查,還是批量處理業(yè)務(wù)表格,這個(gè)方法都能幫你節(jié)省大量時(shí)間。

到此這篇關(guān)于Python輕松實(shí)現(xiàn)查找高亮Excel指定數(shù)據(jù)的文章就介紹到這了,更多相關(guān)Python查找Excel指定數(shù)據(jù)內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 一篇文章徹底搞懂Python魔法參數(shù)args和kwargs(通俗易懂)

    一篇文章徹底搞懂Python魔法參數(shù)args和kwargs(通俗易懂)

    這篇文章主要介紹了Python中的*args和**kwargs,它們分別是可變位置參數(shù)和可變關(guān)鍵字參數(shù),文章通過實(shí)際例子展示了如何在函數(shù)、裝飾器等場景中使用*args和**kwargs,幫助讀者理解并掌握這些靈活的參數(shù)處理方式,需要的朋友可以參考下
    2025-02-02
  • python破解WiFi教程代碼,Python蹭網(wǎng)原理講解

    python破解WiFi教程代碼,Python蹭網(wǎng)原理講解

    用Python生成一個(gè)簡單的密碼本,一般是有數(shù)字、字母和符號(hào)組成,這里用到的思路主要是窮舉法。通過使用pywifi?模塊,根據(jù)密碼本暴力破解WiFi。本文只是從技術(shù)的角度來闡述學(xué)習(xí)Pywifi庫!并不建議大家做任何破壞性的操作和任何不當(dāng)?shù)男袨椋?/div> 2023-01-01
  • python中的單下劃線與雙下劃線以及絕對導(dǎo)入與相對導(dǎo)入

    python中的單下劃線與雙下劃線以及絕對導(dǎo)入與相對導(dǎo)入

    這篇文章主要介紹了python中的單下劃線與雙下劃線以及絕對導(dǎo)入與相對導(dǎo)入說明,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-11-11
  • 通過pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫的可視化方式

    通過pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫的可視化方式

    這篇文章主要介紹了通過pycharm的database設(shè)置進(jìn)行數(shù)據(jù)庫的可視化方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • pytorch torch.nn.AdaptiveAvgPool2d()自適應(yīng)平均池化函數(shù)詳解

    pytorch torch.nn.AdaptiveAvgPool2d()自適應(yīng)平均池化函數(shù)詳解

    今天小編就為大家分享一篇pytorch torch.nn.AdaptiveAvgPool2d()自適應(yīng)平均池化函數(shù)詳解,具有很好的參考價(jià)值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python如何建立多個(gè)值和單個(gè)鍵的映射

    Python如何建立多個(gè)值和單個(gè)鍵的映射

    在Python中,常見的字典只能映射單個(gè)鍵到單個(gè)值,若需映射單個(gè)鍵到多值,可以通過將值存儲(chǔ)于列表或集合中實(shí)現(xiàn),使用列表可以保持元素插入順序,而使用集合則可以去重,collections模塊的defaultdict類簡化了此類多值字典的創(chuàng)建過程
    2024-09-09
  • python3爬蟲中引用Queue的實(shí)例講解

    python3爬蟲中引用Queue的實(shí)例講解

    在本篇內(nèi)容里小編給大家整理的是一篇關(guān)于python3爬蟲中引用Queue的實(shí)例講解內(nèi)容,有興趣的朋友們可以學(xué)習(xí)下。
    2020-11-11
  • python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例

    python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例

    這篇文章主要介紹了python支持?jǐn)帱c(diǎn)續(xù)傳的多線程下載示例,大家參考使用吧
    2014-01-01
  • 使用Python實(shí)現(xiàn)提取快遞信息

    使用Python實(shí)現(xiàn)提取快遞信息

    這篇文章主要為大家詳細(xì)介紹了如何使用Python調(diào)用快遞查詢API接口,并提取出我們需要的快遞信息,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-04-04
  • 使用Python生成詞云圖的詳細(xì)指南

    使用Python生成詞云圖的詳細(xì)指南

    在數(shù)據(jù)可視化領(lǐng)域,詞云圖是一種非常直觀且受歡迎的展示文本數(shù)據(jù)中關(guān)鍵詞頻率的方式,Python 中的wordcloud庫提供了一種簡單而強(qiáng)大的方法來生成詞云圖,本文就給大家介紹了使用Python生成詞云圖的詳細(xì)指南,需要的朋友可以參考下
    2024-12-12

最新評(píng)論