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

使用路径带变量的df.to_csv导出csv时报FileNotFoundError怎么解决

问题解决思路

报错核心原因

你遇到的FileNotFoundError本质是拼接后的文件路径不符合Windows系统规则,或者路径对应的目录不存在。之前硬编码out.csv作为文件名时没有问题,是因为文件名固定,不存在违规字符或额外路径层级,路径可以被系统正常识别。常见的报错触发原因有2个:

  • DataName变量中包含Windows文件名禁止使用的特殊字符(\ / : * ? " < > |),或包含路径分隔符,导致系统把文件名片段识别为不存在的子目录
  • 部分版本Python的fr字符串拼接UNC网络路径(\\开头的共享路径)时可能出现解析异常,加上文件名变量的干扰更容易出现路径识别错误

可直接使用的修复方案

你可以按以下步骤修改代码,同时兼容多文件名导出和路径合法性校验:

  1. 先对数据源名称做非法字符清洗,避免文件名违规
  2. 用os.path.join拼接路径替代直接字符串拼接,减少路径解析错误
  3. 提前校验存储目录是否存在,不存在则自动创建

修复后的完整代码如下:

import os
import re

# 你的原有数据处理逻辑
df = MyFunction(DataName)

# 存储路径配置
save_dir = r'\\kant\kjemi-u1\izarc\pc\Desktop'
# 目录不存在则自动创建
if not os.path.exists(save_dir):
    os.makedirs(save_dir)

# 清洗文件名中的非法字符,全部替换为下划线
clean_data_name = re.sub(r'[\\/*?:"<>|]', "_", DataName)
# 拼接完整存储路径
save_path = os.path.join(save_dir, f"{clean_data_name}.csv")

# 导出csv
df.to_csv(save_path, index=True, header=True)

校验排查方法

如果修改后仍然报错,可以在导出代码前加一行打印语句,确认拼接后的路径是否符合预期:

print(save_path)

打印出的路径如果有明显的多余分隔符、特殊字符,就可以对应调整DataName的取值逻辑。

内容的提问来源于stack exchange,提问作者Izar Capel

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 17:45:08