一、 解決問題:
工作中常會遇到合並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)
四、運行結果: