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

无法将Pandas DataFrame写入Excel多工作表,报FileCreateError错误

多DataFrame写入Excel的FileCreateError问题排查与解决

核心问题分析

  • 路径拼写错误:代码中路径/mnt/new/UTPUT/output_files/new.xlsx里的UTPUT是明显拼写错误,应为OUTPUT,直接导致系统无法定位目标目录
  • 目标目录未创建:即便路径拼写正确,/mnt/new/OUTPUT/output_files目录可能不存在,Pandas的ExcelWriter不会自动递归创建不存在的目录
  • 权限不足(潜在问题):当前运行代码的用户可能没有目标目录的读写权限,导致无法创建文件

解决建议

  • 修正路径拼写:将路径中的UTPUT替换为OUTPUT,确保路径指向正确位置
  • 提前创建目录:初始化ExcelWriter前,用os.makedirs递归创建目标目录,避免因目录缺失报错。示例代码如下:
    import os
    output_dir = '/mnt/new/OUTPUT/output_files'
    # exist_ok=True表示目录已存在时不会报错
    os.makedirs(output_dir, exist_ok=True)
    
  • 检查权限:确认运行代码的用户对/mnt/new/OUTPUT/output_files目录拥有读写权限,必要时通过chmod或chown命令调整权限

修正后的完整代码

import pandas as pd
import os
from collections import OrderedDict
from boltons.iterutils import remap

# 创建目标目录(不存在则自动创建)
output_dir = '/mnt/new/OUTPUT/output_files'
os.makedirs(output_dir, exist_ok=True)

# 初始化ExcelWriter
writer = pd.ExcelWriter(os.path.join(output_dir, 'new.xlsx'), engine='xlsxwriter')
sheets=['0','1','2','3','4']

for item, sheet_name in zip(data, sheets):
    # 清理空值项
    drop_none = lambda path, key, value: key is not None and value is not None
    cleaned_data = remap(item, visit=drop_none)
    flattened_data = flatten(cleaned_data)  # 需确保flatten函数已正确定义
    df = pd.DataFrame(data=flattened_data)
    display(df)
    
    df.to_excel(writer, sheet_name=sheet_name)

writer.save()

内容的提问来源于stack exchange,提问作者Harshith K R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.18 07:00:55