一、 解决问题:
工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判断每个
Excel文件有几个Sheet,Sheet name是什么。
二、系统环境:
OS:Win 10 64位
Python版本:3.7
三、准备:
1、文件路径:C:\Work\Python\MergeExel
编写的python文件放在此文件路径下
2、在上面这个文件路径下建立一个Source文件夹,把待合并的Exel文件拷贝到Source文件夹里
代码参考:
# -*- coding:utf-8 -*- #模块功能:判断某个文件夹下有几个Excel文件,每个Excel有几个Sheet及Sheet Name import os import openpyxl def getFileNames(path): filenames = os.listdir(path) for i, filename in enumerate(filenames): if i==0: iSpecialFile=i+1 sFileName=filename print('==================第%s个文件========================='%(i+1)) print('文件名:%s'%(filename)) getSheetNames(path,filename) print('\n') print('--------------------选择指定的第几个文件-------------------------') print('指定的是第%s个文件:'%iSpecialFile+sFileName ) print('----------------------------------------------------------------') def getSheetNames(path,sFileName): wb = openpyxl.load_workbook(path+'\\'+sFileName) # 获取workbook中所有的表格 sheets = wb.sheetnames # 循环遍历所有sheet for i in range(len(sheets)): sheet = wb[sheets[i]] print('第' + str(i + 1) + '个sheet Name: ' + sheet.title) if __name__=='__main__': path=r'C:\\Work\\Python\\MergeExcel\\Source' getFileNames(path)
四、运行结果: