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

在Databricks中使用pandas.read_excel时出现文件/目录不存在错误

解决Databricks中pandas.read_excel找不到文件的问题

核心原因

Databricks的dbutils.fs操作的是DBFS(Databricks文件系统),而pandas.read_excel默认读取的是集群节点的本地文件系统,两者路径规则不兼容:

  • DBFS路径格式通常为dbfs:/xxx/xxx/test.xlsx,这是Databricks内部的虚拟路径,pandas无法直接识别
  • 集群节点本地文件系统的路径是常规的Unix路径,比如/dbfs/xxx/xxx/test.xlsx或/tmp/xxx.xlsx

具体解决方法

方法1:使用DBFS的本地挂载路径

Databricks默认将DBFS挂载到集群节点的/dbfs目录下,只需把DBFS路径的dbfs:/替换为/dbfs/即可:

# 假设dbutils显示的路径是 dbfs:/mnt/datasets/test.xlsx
import pandas as pd
df = pd.read_excel("/dbfs/mnt/datasets/test.xlsx")

方法2:复制文件到本地临时目录

如果挂载路径访问有问题,可先通过dbutils.fs.cp将DBFS文件复制到节点本地临时目录,再用pandas读取:

# 复制DBFS文件到本地tmp
dbutils.fs.cp("dbfs:/path/to/test.xlsx", "file:/tmp/test.xlsx")
# 读取本地文件
import pandas as pd
df = pd.read_excel("/tmp/test.xlsx")

方法3:检查路径细节

  • 确认路径大小写:DBFS是区分大小写的,Test.xlsx和test.xlsx是不同文件
  • 避免路径末尾的斜杠:确保路径指向具体文件而非目录
  • 验证文件权限:确保当前集群有该文件的读取权限(可通过dbutils.fs.ls查看权限信息)

额外注意

如果执行read_excel时除了文件不存在,还出现Missing optional dependency错误,需在集群上安装依赖库:

# 安装openpyxl(处理.xlsx格式)
%pip install openpyxl
# 或安装xlrd(处理.xls格式)
%pip install xlrd==1.2.0

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 07:18:16