无法使用熊猫从文件夹集中读取Excel文件

时间:2019-04-02 07:09:31

标签: python pandas

我正在尝试使用xlrd从文件夹中读取excel文件,但是正在创建扩展名为".~.Lock.example1.xlsm"的额外文件,该文件最终会给出xlrderror :unsupported file format。当我尝试读取单个文件时,everythig都很好。 我的文件夹文件是:example1.xlsm, example2.xlsm, example3.xlsm

import pandas as pd
import xlrd
import os,sys
import xlsxwriter
path=r"D:\Users\SS\Documents\excel_files"
os.chdir(path)
folders=os.listdir(path) #list of all folders with excel files
for f in folders:
     df=pd.DataFrame()
     path1=os.path.abspath(f)
     files=os.listdir(path1) #list of excel files of specific folder
     os.chdir(path1)
     for f1 in files:
        print(f1)
        data=pd.read_excel(f1,None)  #Lock file is causing error here

1 个答案:

答案 0 :(得分:0)

解决这个问题的一种方法是将它们添加到您的代码中,以便它仅读取excel文件,而不读取文件夹中的每个文件。

for f1 in files:
    if f1.endswith(".xlsx"):
        #Do something with f1

此外,如果您要查找给定文件夹下的所有文件,我发现os.walk(path)非常有用。 因此,总的来说,我们可以做这样的事情:

path = 'D:\Users\SS\Documents\excel_files'
for root, dirs, files in os.walk(path):
    for file in files:
        if file.endswith(".xlsx"):
            #Do something with file