我正在尝试使用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
答案 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