Python 运行循环时跳过并标识受密码保护的excel文件
我们正在开发一个脚本,该脚本将占用大量文件并将它们合并到一个数据帧中。不幸的是,当有密码保护的文件时,我们遇到了循环停止的问题。我想知道的是,如何跳过受密码保护的excel文件,并让脚本告诉我哪些文件受密码保护Python 运行循环时跳过并标识受密码保护的excel文件,python,pandas,Python,Pandas,我们正在开发一个脚本,该脚本将占用大量文件并将它们合并到一个数据帧中。不幸的是,当有密码保护的文件时,我们遇到了循环停止的问题。我想知道的是,如何跳过受密码保护的excel文件,并让脚本告诉我哪些文件受密码保护 df_list = [] allfiles = glob.glob(path) for xlsx in allfiles: temp_df = pd.read_excel(xlsx) df_list.append(temp_df) 如果存在受密码保护的excel文档,则会弹出
df_list = []
allfiles = glob.glob(path)
for xlsx in allfiles:
temp_df = pd.read_excel(xlsx)
df_list.append(temp_df)
如果存在受密码保护的excel文档,则会弹出一个错误,说明“BadZipFile”。由于有数百个文件,我们必须逐个打开它们,以确定哪些文件具有密码。当您要处理异常时,请考虑try/except: 以下是一个可能的解决方案:
df_list = []
allfiles = glob.glob(path)
protected_files=[]
for xlsx in allfiles:
try:
temp_df = pd.read_excel(xlsx)
except BadZipfile:
protected_files.append(xlsx)
else:
df_list.append(temp_df)
protected\u files
列表将包含受保护的文件对于这种情况,为什么不使用普通的try/except
错误处理?