在池中使用try / except-在except之后冻结

时间:2019-11-20 19:28:11

标签: python pool

我有遍历返回的csv文件100个的代码,因此我们在读取阶段使用池来更快地进行检查。令人讨厌的是,我们的系统返回了一些无效的文件,这些文件导致read_csv返回错误。当前的解决方案是手动查找,删除并重新运行。我想尝试整合一个try和except的方法,但是一旦到达文件,就会导致except语句出现,我得到记录器消息,然后脚本冻结。还有什么要补充的吗?

读取文件脚本:

try:
    with open(temp_file_path + "temp_csv/" + file_name) as f:
                s = f.read()
                f = io.StringIO(html.unescape(html.unescape(s)))
    return pd.read_csv(f,
                        header=None, 
                        names=column_names, 
                        dtype=dtype,
                        sep=";",
                        low_memory=False)
except:
    log_handle.debug("WARNING File " + file_name + " is invalid")
    return pd.DataFrame()
temp_df = pool.map(read_files_partial, split_files)
pool.close()
pool.join()
df = pd.concat(temp_df, ignore_index=True)

0 个答案:

没有答案