Python代码无法保存至已存在的网络驱动器文件夹求助
网络驱动器下Pandas存Excel报错的解决思路
问题背景
我写了段Python代码处理Excel,输入输出都在网络驱动器,路径定义如下:
InputFolder = r"\\networklocation\\folder1\\folder2\\input\\" OutputFolder = r"\\networklocation\\folder1\\folder2\\output\\"
用pd.read_excel(InputFolder +"\\filename")读文件完全正常,但调用df.to_excel(OutputFolder +"\\filename")时,直接抛出OSError: Cannot save file into a non-existent directory——但输出文件夹明明存在。更奇怪的是,同权限的其他电脑能正常保存,我试过改原始字符串、存到刚读取过的输入文件夹,还是报同样的错。
可行的解决办法
先显式确认目录可访问
网络路径容易出现权限缓存或解析问题,哪怕目录存在,先通过代码确保目录状态:import os # 确保输出目录存在,已存在也不会报错 os.makedirs(OutputFolder, exist_ok=True) # 用os.path.join拼接路径,避免手动加斜杠踩坑 df.to_excel(os.path.join(OutputFolder, "result.xlsx"))把网络驱动器映射成本地盘符
系统对UNC路径(\\xxx开头)的写入权限校验可能有差异,把网络文件夹映射成本地盘符(比如Z盘),路径改成:InputFolder = r"Z:\input" OutputFolder = r"Z:\output"Windows映射步骤:右键「此电脑」→「映射网络驱动器」,选盘符、填网络路径,勾选「登录时重新连接」。
刷新用户权限状态
就算权限配置相同,部分电脑可能缓存了旧权限:- 注销再重新登录Windows,刷新网络权限
- 右键输出文件夹→「属性」→「安全」,确认当前用户有写入、修改权限,不是只读
规范路径写法
原始字符串末尾的斜杠可能和引号冲突导致路径解析异常,建议去掉末尾斜杠,用os.path.join拼接:InputFolder = r"\\networklocation\\folder1\\folder2\\input" OutputFolder = r"\\networklocation\\folder1\\folder2\\output" input_path = os.path.join(InputFolder, "data.xlsx") output_path = os.path.join(OutputFolder, "result.xlsx")更新依赖库版本
旧版的Pandas或Excel写入引擎(openpyxl/xlsxwriter)对网络路径支持不好,更新试试:pip install --upgrade pandas openpyxl xlsxwriter
内容的提问来源于stack exchange,提问作者Arthcode
相关产品推荐
相关产品推荐

