Python代码实现读取Excel工作表名称

 更新时间:2026年05月28日 15:30:55   作者:咕白m625  
在 Python 数据处理场景中,Excel 是最常用的结构化数据文件格式之一,本文介绍如何使用 Python 和免费库 Free Spire.XLS for Python 获取 Excel 中的所有工作表名称以及仅获取隐藏工作表的名称,有需要的可以了解下

在 Python 数据处理场景中,Excel 是最常用的结构化数据文件格式之一。获取 Excel 工作簿内的所有工作表名称,是读取、遍历、处理 Excel 数据的基础前置操作。本文介绍如何使用 Python 和免费库 Free Spire.XLS for Python 获取 Excel 中的所有工作表名称以及仅获取隐藏工作表的名称。

一、环境准备

在使用该库前,需通过 pip 完成库的安装,这是唯一的环境配置步骤:

pip install Spire.Xls.Free

该库为免费社区版,可直接用于个人学习、商业项目的 Excel 基础处理,无需额外授权,但有一定篇幅限制。

安装完成后,在 Python 脚本中导入所需的模块:

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

二、获取所有工作表的名称

免费 Python 库提供的 Worksheet.Name 属性可以返回指定工作表的名称。遍历 Workbook.Worksheets 集合中的每个 Worksheet 对象,即可逐一获取其名称。

以下代码演示了如何读取一个 Excel 文件中的所有工作表名称并输出到控制台:

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

# 创建 Workbook 实例并加载 Excel 文件
workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

# 遍历每一个工作表并输出名称
for sheet in workbook.Worksheets:
    print(sheet.Name)

以上方法可以获取包括隐藏工作表在内的全部工作表名称。

如果需要将工作表名称保存下来供后续处理,可以将其存入列表:

names = []
for sheet in workbook.Worksheets:
    names.append(sheet.Name)

# 或使用列表推导式
names = [sheet.Name for sheet in workbook.Worksheets]

三、仅获取隐藏工作表的名称

如果只需要获取隐藏工作表的名称,可以在遍历工作表的过程中使用 Worksheet.Visibility 属性判断当前工作表是否处于隐藏状态。当该属性等于 WorksheetVisibility.Hidden 时,即为隐藏工作表。

示例代码如下:

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

workbook = Workbook()
workbook.LoadFromFile("测试.xlsx")

for sheet in workbook.Worksheets:
    if sheet.Visibility == WorksheetVisibility.Hidden:
        print(sheet.Name)

在实际业务中,隐藏工作表的名称可能需要单独记录。以下代码将隐藏工作表的名称收集到列表中并输出:

hidden_names = [sheet.Name for sheet in workbook.Worksheets 
                if sheet.Visibility == WorksheetVisibility.Hidden]

四、知识扩展

以下是使用 Python 读取 Excel 文件中所有工作表(Sheet)名称的几种常用方法。

方法一:使用 pandas(最简洁)

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', '数据表']

说明pd.ExcelFile 对象会解析整个 Excel 文件的元数据,其 sheet_names 属性返回一个包含所有工作表名称的列表。

方法二:使用 openpyxl(仅支持 .xlsx)

from openpyxl import load_workbook
file_path = "example.xlsx"
workbook = load_workbook(file_path, read_only=True)  # read_only 模式仅读取元数据,速度快
sheet_names = workbook.sheetnames
print("工作表名称列表:", sheet_names)
workbook.close()  # 关闭文件

说明load_workbook 的 read_only=True 参数只加载工作簿结构,不会读取全部数据,适合仅获取名称的场景。

方法三:使用 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)。对于新格式 .xlsx,建议使用 openpyxl 或 pandas

完整示例(含错误处理)

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)

总结

方法适用格式优点
pandas.xls, .xlsx一行代码,自动识别引擎
openpyxl.xlsx轻量,只读模式快
xlrd.xls专门处理旧格式

推荐使用 pandas,因为它统一接口,且可以进一步读取数据。如果只需要名称且文件很大,openpyxl 的只读模式更节省内存。

五、总结

获取工作表名称后,可以根据名称执行差异化的处理逻辑。例如,通过 workbook.Worksheets[sheet_name] 或按索引获取特定工作表对象后,再进行读取数据、写入数据或修改格式等操作。Free Spire.XLS for Python 还提供了创建新的工作表、复制工作表、设置工作表可见性等完整的工作表管理功能,可根据实际需要进一步扩展。

此外,在将工作表名称与其他数据关联处理时,建议对名称进行必要的格式化处理(如去除首尾空格),以确保匹配准确。

到此这篇关于Python代码实现读取Excel工作表名称的文章就介绍到这了,更多相关Python读取Excel工作表名称内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python使用SymPy和Manim轻松搞定导数动画

    Python使用SymPy和Manim轻松搞定导数动画

    大家好,你有没有试过在 Manim 里做导数定义的动画,这篇文章小编就来和大家详细介绍一下Python如何使用SymPy和Manim轻松搞定导数动画吧
    2026-05-05
  • Python及PyCharm下载与安装教程

    Python及PyCharm下载与安装教程

    这篇文章主要为大家详细介绍了Python及PyCharm下载与安装教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-11-11
  • 如何使用pyinstaller打包时引入自己编写的库

    如何使用pyinstaller打包时引入自己编写的库

    这篇文章主要介绍了如何使用pyinstaller打包时引入自己编写的库,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-02-02
  • 如何使用python写截屏小工具

    如何使用python写截屏小工具

    这篇文章主要介绍了如何使用python写截屏小工具,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-09-09
  • Python csv模块使用方法代码实例

    Python csv模块使用方法代码实例

    这篇文章主要介绍了Python csv模块使用方法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08
  • python目标检测yolo3详解预测及代码复现

    python目标检测yolo3详解预测及代码复现

    这篇文章主要为大家介绍了python目标检测yolo3详解预测及代码复现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程

    wxPython是一款集成了Python的图形化类库的工具,而py2exe是一款将Python程序转换为exe可执行文件的程序,二者搭配可以轻松地在Windows中创建图形化程序,这里我们就来学习Windows中使用wxPython和py2exe开发Python的GUI程序的实例教程:
    2016-07-07
  • Python反转序列的方法实例分析

    Python反转序列的方法实例分析

    这篇文章主要介绍了Python反转序列的方法,结合实例形式分析了列表、元组及字符串反转的具体实现技巧,需要的朋友可以参考下
    2018-03-03
  • Python 基于Selenium实现动态网页信息的爬取

    Python 基于Selenium实现动态网页信息的爬取

    本文主要介绍了通过Selenium和webdrive等库,对动态网页的信息进行爬取。文中的示例代码非常详细,感兴趣的同学快来跟随小编一起学习吧
    2021-12-12
  • python 删除指定时间间隔之前的文件实例

    python 删除指定时间间隔之前的文件实例

    下面小编就为大家分享一篇python 删除指定时间间隔之前的文件实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-04-04

最新评论