Python遍历一个文件夹下有几个Excel文件及每个Excel
2019-11-30 本文已影响0人
我爱学python
一、 解决问题:
工作中常会遇到合并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文件夹里
代码参考:
'''
遇到问题没人解答?小编创建了一个Python学习交流QQ群:857662006
寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!
'''
# -*- 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)
四、运行结果: