下面是详细讲解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.xlsx
和example2.xlsx
,其中example1.xlsx
中包含两个sheet,分别为Sheet1
和Sheet2
,example2.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文件,那么运行上述代码将不会输出任何内容。