我们正在编写一个脚本,该脚本将接收大量文件并将它们合并到一个数据帧中。不幸的是,我们遇到了当有密码保护文件时循环停止的问题。我想弄清楚的是如何跳过受密码保护的 excel 文件,并让脚本告诉我其中哪些受密码保护。
df_list = []
allfiles = glob.glob(path)
for xlsx in allfiles:
temp_df = pd.read_excel(xlsx)
df_list.append(temp_df)
如果有一个受密码保护的 excel 文档,它会吐出一个错误,指出“BadZipFile”。由于有数百个文件,我们必须一一打开它们以识别哪些有密码
当你想处理 Exception 时,想想 try/except:https : //docs.python.org/3/tutorial/errors.html
这是一个可能的解决方案:
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_files
列表将包含受保护的文件
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句