我正在分享一种体验,它可能会在未来的某一天为其他用户节省一些时间。
它发生在读取 python/pandas 中的 .xls 文件列表以将它们附加到数据框时。代码如下。如果列表中的文件丢失,代码将通过 try/except 通知。其中一个文件名为“CON.xls”,但该文件丢失。
执行循环时,try/except 显然不起作用。该程序处于暂停状态,没有任何反应。仅当文件名为“CON.xls”时。该代码与列表中的所有其他文件名都可以。
然后我尝试创建一个'CON.xls'文件直接从excel保存它,甚至excel拒绝接受这个名字。'CON.xls' 是保留文件名。
Try/except 显然没有检测到这种问题,或者在这种情况下不是正确的方法:
def db_to_df(list_of_file_names):
return_df=pd.DataFrame([])
for file_name in list_of_file_names:
try:
df=pd.DataFrame([])
df=pd.read_excel(file_name+'.xls')
return_df = pd.concat([return_df, df])
print('\tFile added: ', file_name)
except:
print('\nERROR: ', file_name,'\n')
return(return_df)
上面用的是WIN7和一个很老的2003 xls,其他版本不清楚。