我正在尝试通过 Pandas 将多个 excel 文件中的数据收集到单个工作簿中的单独工作表中。但是,我的 ExcelWriter 定义之后的代码块永远不会执行,也不会引发错误。
res_path = os.path.join(output_path, 'overview.xls')
writer = pd.ExcelWriter(res_path)
# No statements from here onwards execute
for root, dirs, files in os.walk(output_path):
for f in files:
name = re.compile(r'(.*)_.*_(?:result.xls)').match(f).group(1)
pd.read_excel(os.path.join(root, f)).to_excel(writer, sheet_name=name)
writer.save()
我试图运行各种打印语句(在 for 循环之前、for 循环内部、保存之后),但它们都没有被执行。我也尝试在上下文管理器中使用 ExcelWriter,但出现了同样的问题。我试图等待超过 5 分钟,但无济于事。文件很小(8kb),所以我不相信保存时间会比这更长。
我还尝试使用一个简单的路径(即“overview.xls”)作为 ExcelWriter 的参数,这也不起作用,让我相信路径不是问题。
其他引擎(通过 XlsxWriter 保存为 .xlsx)也不起作用。
任何帮助将非常感激!
编辑:我也尝试在 Linux 机器上运行这段代码(我以前在 Windows 机器上),但它没有改变任何东西;之后代码仍然冻结,之后writer = pd.ExcelWriter(res_path)
的任何打印语句都不会执行。