You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境JupyterLab用pandas+xlsxwriter无报错却未生成Excel文件

问题排查与解决方案
  • 确认运行时工作目录
    JupyterLab的默认工作目录为当前打开的Notebook文件所在目录,而非系统家目录。在Notebook中运行以下代码打印当前工作目录,前往输出的路径下查找目标文件:
    import os
    print(os.getcwd())
    
    若代码中存在os.chdir()相关调用修改了运行时路径,文件会生成在修改后的路径下。
  • 检查目录写入权限
    确认运行JupyterLab进程的系统用户,对上述工作目录拥有写入权限。若工作目录为/root、/usr等需要高权限的路径,或目录权限设置为仅可读,会导致文件写入失败且部分版本依赖组合下不会抛出异常。可尝试将文件名修改为绝对路径,比如file = "/home/你的用户名/my_file.xlsx" 后重新运行测试。
  • 避免重复调用保存/关闭方法
    旧版本pandas的ExcelWriter的save()方法会自动触发close()逻辑,同时调用writer.save()和writer.close()会导致临时写入的文件被提前清理,最终无法生成目标文件。删除其中一行即可,推荐仅保留writer.close()。
    更稳妥的写法是使用上下文管理器自动处理保存关闭逻辑,无需手动调用相关方法,示例如下:
    import pandas as pd
    file = "my_file.xlsx"
    
    with pd.ExcelWriter(file, engine='xlsxwriter') as writer:
        df.to_excel(writer, sheet_name='products')
        wb = writer.book
        ws = writer.sheets['products']
        # 后续表格处理逻辑写在缩进块内
    
  • 升级依赖版本
    pandas与xlsxwriter版本不兼容也会导致静默写入失败,运行以下命令升级两个依赖包后重试:
    pip install --upgrade pandas xlsxwriter
    
  • 重新执行全量代码
    重启Jupyter内核,按顺序从头到尾执行所有Notebook单元格,避免因执行顺序错乱、旧代码缓存导致的逻辑异常。

内容的提问来源于stack exchange,提问作者EA Bubnoff

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 07:36:03