python查询文件夹下excel的sheet名代码实例

  • Post category:Python

下面是详细讲解Python查询文件夹下Excel的sheet名的完整实例教程。

1. 安装所需模块

该实例涉及到操作Excel文件,需要安装openpyxl模块,可以使用pip命令安装,具体如下所示:

pip install openpyxl

2. 实现代码

2.1 获取文件夹下的Excel文件路径

使用os模块的listdir()函数可以获取指定文件夹下的所有文件名,通过筛选出扩展名为.xlsx的文件,可以获取到该文件夹下的所有Excel文件路径。代码如下所示:

import os

folder_path = r'C:\Users\admin\Desktop\excel'  # 文件夹路径
excel_list = []  # 存储Excel文件路径

# 获取文件夹下所有Excel文件路径
for file in os.listdir(folder_path):
    if file.endswith('.xlsx'):
        excel_path = os.path.join(folder_path, file)
        excel_list.append(excel_path)

上述代码中,使用os.path.join()函数将文件夹路径和Excel文件名拼接成完整的文件路径,存储到excel_list列表中。

2.2 查询Excel文件的sheet名

通过使用openpyxl模块中的load_workbook()函数可以加载Excel文件,然后通过sheetnames属性获取到该Excel文件中所有sheet的名字。代码如下所示:

from openpyxl import load_workbook

for excel_path in excel_list:  # 遍历所有Excel文件
    workbook = load_workbook(excel_path)  # 加载Excel文件
    sheet_names = workbook.sheetnames  # 获取sheet名列表
    print('文件 %s 中的sheet名为:%s' % (excel_path, sheet_names))

使用load_workbook()函数加载Excel文件,获取到工作簿(workbook)对象。通过sheetnames属性获取到该Excel文件中所有sheet的名字,存储到sheet_names变量中。最后将该Excel文件名和sheet名列表打印输出。

3. 示例说明

示例一

已知某文件夹下的Excel文件有两个,分别是example1.xlsxexample2.xlsx,其中example1.xlsx中包含两个sheet,分别为Sheet1Sheet2example2.xlsx中包含一个sheet,名为Sheet1,如下所示:

C:\Users\admin\Desktop\excel\example1.xlsx
      |- Sheet1
      |- Sheet2

C:\Users\admin\Desktop\excel\example2.xlsx
      |- Sheet1

执行上文代码后,会输出以下内容:

文件 C:\Users\admin\Desktop\excel\example1.xlsx 中的sheet名为:['Sheet1', 'Sheet2']
文件 C:\Users\admin\Desktop\excel\example2.xlsx 中的sheet名为:['Sheet1']

即该实例能够成功获取到两个Excel文件中的所有sheet名。

示例二

若文件夹下没有任何Excel文件,那么运行上述代码将不会输出任何内容。