Databricks中文件路径存在却提示找不到的问题求助
Databricks中文件路径存在但提示"Databricks File Path not Found"的解决方案
1. 确认文件实际路径与大小写匹配
- 运行
dbutils.fs.ls("dbfs:/FileStore/你的文件夹路径/"),查看输出的完整文件路径,确保脚本中使用的路径和输出完全一致(Databricks路径区分大小写,本地Windows环境不区分,这是常见坑点) - 例如输出显示
dbfs:/FileStore/Template.xlsx,脚本里写template.xlsx就会找不到
2. 切换到DBFS本地挂载路径
- 多数Python文件处理库(如openpyxl、pandas)不直接支持
dbfs:/协议路径,需使用Driver节点本地挂载的/dbfs/路径格式 - 把路径从
dbfs:/FileStore/xxx.xlsx改为/dbfs/FileStore/xxx.xlsx,这是Driver能直接识别的本地路径
3. 验证文件读取权限
- 执行
dbutils.fs.head("dbfs:/FileStore/你的模板文件.xlsx", 100),若能返回文件头部内容,说明权限正常;若报错,需调整文件的读取权限(比如通过Workspace UI或dbutils.fs.chmod命令修改)
4. 排查Excel文件本身问题
- 确认模板文件未加密、无损坏,可先在本地重新打开保存后再上传到DBFS
- 使用pandas读取时,指定兼容的引擎参数,比如
pd.read_excel("/dbfs/FileStore/template.xlsx", engine="openpyxl"),避免默认引擎不兼容老版本Excel
修正后的示例代码
import pandas as pd from openpyxl import load_workbook # 使用DBFS本地挂载路径 template_path = "/dbfs/FileStore/template.xlsx" csv_path = "/dbfs/FileStore/data.csv" # 读取CSV数据 df = pd.read_csv(csv_path) # 读取Excel模板并追加数据到同名工作表 book = load_workbook(template_path) target_sheet = "SalesData" # 替换为你的目标工作表名 writer = pd.ExcelWriter( template_path, engine="openpyxl", mode="a", if_sheet_exists="overlay" ) # 追加到工作表末尾,不重复写表头 df.to_excel( writer, sheet_name=target_sheet, startrow=book[target_sheet].max_row, index=False, header=False ) writer.close()
内容的提问来源于stack exchange,提问作者Shazm
相关产品推荐
相关产品推荐

