Python代碼實(shí)現(xiàn)讀取Excel工作表名稱
在 Python 數(shù)據(jù)處理場(chǎng)景中,Excel 是最常用的結(jié)構(gòu)化數(shù)據(jù)文件格式之一。獲取 Excel 工作簿內(nèi)的所有工作表名稱,是讀取、遍歷、處理 Excel 數(shù)據(jù)的基礎(chǔ)前置操作。本文介紹如何使用 Python 和免費(fèi)庫(kù) Free Spire.XLS for Python 獲取 Excel 中的所有工作表名稱以及僅獲取隱藏工作表的名稱。
一、環(huán)境準(zhǔn)備
在使用該庫(kù)前,需通過 pip 完成庫(kù)的安裝,這是唯一的環(huán)境配置步驟:
pip install Spire.Xls.Free
該庫(kù)為免費(fèi)社區(qū)版,可直接用于個(gè)人學(xué)習(xí)、商業(yè)項(xiàng)目的 Excel 基礎(chǔ)處理,無需額外授權(quán),但有一定篇幅限制。
安裝完成后,在 Python 腳本中導(dǎo)入所需的模塊:
from spire.xls import * from spire.xls.common import *
二、獲取所有工作表的名稱
免費(fèi) Python 庫(kù)提供的 Worksheet.Name 屬性可以返回指定工作表的名稱。遍歷 Workbook.Worksheets 集合中的每個(gè) Worksheet 對(duì)象,即可逐一獲取其名稱。
以下代碼演示了如何讀取一個(gè) Excel 文件中的所有工作表名稱并輸出到控制臺(tái):
from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建 Workbook 實(shí)例并加載 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("測(cè)試.xlsx")
# 遍歷每一個(gè)工作表并輸出名稱
for sheet in workbook.Worksheets:
print(sheet.Name)
以上方法可以獲取包括隱藏工作表在內(nèi)的全部工作表名稱。
如果需要將工作表名稱保存下來供后續(xù)處理,可以將其存入列表:
names = []
for sheet in workbook.Worksheets:
names.append(sheet.Name)
# 或使用列表推導(dǎo)式
names = [sheet.Name for sheet in workbook.Worksheets]
三、僅獲取隱藏工作表的名稱
如果只需要獲取隱藏工作表的名稱,可以在遍歷工作表的過程中使用 Worksheet.Visibility 屬性判斷當(dāng)前工作表是否處于隱藏狀態(tài)。當(dāng)該屬性等于 WorksheetVisibility.Hidden 時(shí),即為隱藏工作表。
示例代碼如下:
from spire.xls import *
from spire.xls.common import *
workbook = Workbook()
workbook.LoadFromFile("測(cè)試.xlsx")
for sheet in workbook.Worksheets:
if sheet.Visibility == WorksheetVisibility.Hidden:
print(sheet.Name)
在實(shí)際業(yè)務(wù)中,隱藏工作表的名稱可能需要單獨(dú)記錄。以下代碼將隱藏工作表的名稱收集到列表中并輸出:
hidden_names = [sheet.Name for sheet in workbook.Worksheets
if sheet.Visibility == WorksheetVisibility.Hidden]
四、知識(shí)擴(kuò)展
以下是使用 Python 讀取 Excel 文件中所有工作表(Sheet)名稱的幾種常用方法。
方法一:使用 pandas(最簡(jiǎn)潔)
import pandas as pd
# 讀取 Excel 文件,獲取所有工作表名稱
file_path = "example.xlsx"
excel_file = pd.ExcelFile(file_path)
sheet_names = excel_file.sheet_names
print("工作表名稱列表:", sheet_names)
# 示例輸出: 工作表名稱列表: ['Sheet1', 'Sheet2', '數(shù)據(jù)表']說明:pd.ExcelFile 對(duì)象會(huì)解析整個(gè) Excel 文件的元數(shù)據(jù),其 sheet_names 屬性返回一個(gè)包含所有工作表名稱的列表。
方法二:使用 openpyxl(僅支持 .xlsx)
from openpyxl import load_workbook
file_path = "example.xlsx"
workbook = load_workbook(file_path, read_only=True) # read_only 模式僅讀取元數(shù)據(jù),速度快
sheet_names = workbook.sheetnames
print("工作表名稱列表:", sheet_names)
workbook.close() # 關(guān)閉文件說明:load_workbook 的 read_only=True 參數(shù)只加載工作簿結(jié)構(gòu),不會(huì)讀取全部數(shù)據(jù),適合僅獲取名稱的場(chǎng)景。
方法三:使用 xlrd(支持舊版 .xls)
import xlrd
file_path = "example.xls" # 注意是舊格式
workbook = xlrd.open_workbook(file_path, on_demand=True)
sheet_names = workbook.sheet_names()
print("工作表名稱列表:", sheet_names)說明:xlrd 適合處理 .xls 格式(Excel 97-2003)。對(duì)于新格式 .xlsx,建議使用 openpyxl 或 pandas。
完整示例(含錯(cuò)誤處理)
import pandas as pd
def get_sheet_names(file_path):
"""返回 Excel 文件中的所有工作表名稱"""
try:
excel_file = pd.ExcelFile(file_path)
return excel_file.sheet_names
except FileNotFoundError:
print(f"文件不存在: {file_path}")
return []
except Exception as e:
print(f"讀取失敗: {e}")
return []
if __name__ == "__main__":
sheets = get_sheet_names("data.xlsx")
print(sheets)總結(jié)
| 方法 | 適用格式 | 優(yōu)點(diǎn) |
|---|---|---|
pandas | .xls, .xlsx | 一行代碼,自動(dòng)識(shí)別引擎 |
openpyxl | .xlsx | 輕量,只讀模式快 |
xlrd | .xls | 專門處理舊格式 |
推薦使用 pandas,因?yàn)樗y(tǒng)一接口,且可以進(jìn)一步讀取數(shù)據(jù)。如果只需要名稱且文件很大,openpyxl 的只讀模式更節(jié)省內(nèi)存。
五、總結(jié)
獲取工作表名稱后,可以根據(jù)名稱執(zhí)行差異化的處理邏輯。例如,通過 workbook.Worksheets[sheet_name] 或按索引獲取特定工作表對(duì)象后,再進(jìn)行讀取數(shù)據(jù)、寫入數(shù)據(jù)或修改格式等操作。Free Spire.XLS for Python 還提供了創(chuàng)建新的工作表、復(fù)制工作表、設(shè)置工作表可見性等完整的工作表管理功能,可根據(jù)實(shí)際需要進(jìn)一步擴(kuò)展。
此外,在將工作表名稱與其他數(shù)據(jù)關(guān)聯(lián)處理時(shí),建議對(duì)名稱進(jìn)行必要的格式化處理(如去除首尾空格),以確保匹配準(zhǔn)確。
到此這篇關(guān)于Python代碼實(shí)現(xiàn)讀取Excel工作表名稱的文章就介紹到這了,更多相關(guān)Python讀取Excel工作表名稱內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Python快速?gòu)?fù)制Excel工作表的完整教程
- 使用Python實(shí)現(xiàn)在Excel工作表中添加批注
- 使用Python在Excel工作表中設(shè)置數(shù)據(jù)驗(yàn)證
- Python輕松實(shí)現(xiàn)在Excel工作表中應(yīng)用條件格式
- Python在Excel工作表添加數(shù)據(jù)驗(yàn)證的示例代碼
- 使用Python在Excel工作表中添加、編輯和刪除批注
- Python結(jié)合Spire.XLS for Python實(shí)現(xiàn)高效添加與管理Excel工作表
- 使用Python設(shè)置Excel工作表的各項(xiàng)頁(yè)面屬性
相關(guān)文章
python中__init__方法知識(shí)點(diǎn)詳解
Python中常會(huì)看到在很多類中都有一個(gè)__init__函數(shù),該函數(shù)有什么作用,又該如何使用呢,下面這篇文章主要給大家介紹了關(guān)于python中__init__知識(shí)點(diǎn)的相關(guān)資料,需要的朋友可以參考下2023-04-04
pycharm第三方庫(kù)安裝失敗的問題及解決經(jīng)驗(yàn)分享
這篇文章主要介紹了pycharm第三方庫(kù)安裝失敗的解決方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-05-05
python?調(diào)制解調(diào)的實(shí)現(xiàn)
在Python中,可以使用SciPy和NumPy庫(kù)來處理信號(hào),包括進(jìn)行FM信號(hào)的解調(diào),本文主要介紹了python?調(diào)制解調(diào)的實(shí)現(xiàn),具有一定的參考價(jià)值,感興趣的可以了解一下2024-03-03
利用Opencv實(shí)現(xiàn)圖片的油畫特效實(shí)例
這篇文章主要給大家介紹了關(guān)于利用Opencv實(shí)現(xiàn)圖片的油畫特效的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
python使用matplotlib畫出的圖怎樣放到word中
這篇文章主要介紹了python使用matplotlib畫出的圖怎樣放到word中問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-09-09
如何使用Python實(shí)現(xiàn)斐波那契數(shù)列
這篇文章主要介紹了如何使用Python實(shí)現(xiàn)斐波那契數(shù)列,斐波那契數(shù)列(Fibonacci)最早由印度數(shù)學(xué)家Gopala提出,而第一個(gè)真正研究斐波那契數(shù)列的是意大利數(shù)學(xué)家 Leonardo Fibonacci,需要的朋友可以參考下2019-07-07
keras Lambda自定義層實(shí)現(xiàn)數(shù)據(jù)的切片方式,Lambda傳參數(shù)
這篇文章主要介紹了keras Lambda自定義層實(shí)現(xiàn)數(shù)據(jù)的切片方式,Lambda傳參數(shù),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2020-06-06

