Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet

时间:2022-02-10 19:57:13

    一、 解决问题:

     工作中常会遇到合并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)

     四、运行结果:

    Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet