批量打开文件夹下的所有Excel文件

542 阅读2分钟

一眨眼的功夫,就可以批量打开某个文件夹下的所有Excel文件,省时省力且不会漏掉,如何做到呢?

1、要打开的Excel文件集中放在一个文件夹下;

2、将这些Excel文件全部选中,按回车键;

以上步骤可以实现批量打开文件夹下的所有Excel文件,但是在实际工作中,同一个工作资料文件夹下,不仅有Excel文件,还可能有Word、PPT、Txt、图片、音乐、视频、文件夹等其他类型的文件,这时候在批量打开之前就要先筛选哪些是Excel文件,人工筛选还是挺麻烦的,费力还有可能漏掉或者多选。

用Python代码如何实现呢?

1、列出文件夹下的所有文件;

2、循环判断文件夹下的所有文件是否是Excel文件,是的话打开,不是的话不打开;

先看第一步,列出文件夹下的所有文件的代码,执行效果如下:

import os      #导入OS模块
file_path = 'E:\\documents\\table'     #定义打开路径
file_list = os.listdir(file_path)    #列出该路径下的所有文件
for i in file_list:
    print(i)

打开Excel文件1.jpg

列出所有文件.png

可以看出,存放Excel文件的文件夹中有各种类型的文件。在看第二步,循环判断文件夹下的所有文件是否是Excel文件,是的话打开,不是的话不打开,执行效果如下:

import os    #导入OS模块
import xlwings as xw   #导入xlwings模块
file_path = 'E:\\documents\\table'   #给出工作簿所在的文件夹路径,表示要打开该文件夹下的工作簿
file_list = os.listdir(file_path)    #列出路径下的所有文件和子文件夹的名称
app = xw.App(visible = True, add_book = False)   #启动Excel程序
for i in file_list:
    if os.path.splitext(i)[1] == '.xlsx':   #判断文件夹下文件的扩展名称是否为“.xlsx”
        app.books.open(file_path + '\\' + i)    #打开工作簿

执行效果如图所示:

打开Excel文件2.png

技能扩展:如果要同时打开扩展名为“.xlsx”和“.xls”的工作簿呢?

将if os.path.splitext(i)[1] == '.xlsx':修改为if os.path.splitext(i)[1] == '.xlsx' or os.path.splitext(i)[1] == '.xls':

自己试试吧~