如何在Python中正确使用pandas读取Excel文件

发布时间 - 2026-01-24 00:00:00    点击率:

本文详解pandas读取excel文件时常见的“filenotfounderror”问题,重点讲解路径书写规范、跨平台路径构建方法及调试技巧,帮助开发者快速定位并修复路径错误。

在使用 pd.read_excel() 读取本地Excel文件时,最常见的报错是 FileNotFoundError: [Errno 2] No such file or directory。这并非pandas或Excel模块的问题,而是文件路径不正确导致的——系统根本找不到你指定的文件。

? 常见路径错误原因

  • 反斜杠 \ 被误解析为转义字符:Windows路径如 'C:\Users\ANGEL\Desktop\...' 中的 \U、\A 等会被Python当作Unicode转义序列处理(例如 \U 后接8位十六进制会触发 SyntaxError)。
  • 路径拼写错误:大小写不符(尤其在Linux/macOS)、多余空格、中文字符未编码、文件名后缀错误(如 .xls vs .xlsx)。
  • 当前工作目录非预期位置:相对路径

    依赖运行时所在目录,而你的脚本可能不在桌面目录下执行。
  • 权限或隐藏属性限制:文件被占用、设为只读,或位于受保护系统路径中(较少见,但需排查)。

✅ 推荐解决方案:用 os.path.join() 构建健壮路径

避免手动拼接字符串,改用 os.path.join() —— 它会自动适配操作系统分隔符(Windows用 \,macOS/Linux用 /),且完全规避转义问题:

import os
import pandas as pd

# ✅ 安全构建路径(推荐)
folder = r"C:\Users\ANGEL\Desktop\Akin Kyosk doc"  # 原始路径加 r 前缀(原始字符串)
filename = "Sales.xlsx"
filepath = os.path.join(folder, filename)

# ? 调试:检查文件是否存在
print("完整路径:", filepath)
print("文件存在?", os.path.exists(filepath))

# ✅ 确认存在后再读取
if os.path.exists(filepath):
    df = pd.read_excel(filepath)
    print("✅ 成功加载,数据形状:", df.shape)
else:
    print("❌ 文件未找到,请检查路径和文件名!")
? 小贴士:路径前加 r(如 r"C:\...")可声明为原始字符串,防止反斜杠转义;但更推荐 os.path.join(),因其更具可移植性与可读性。

? 其他实用技巧

  • 获取当前工作目录,确认脚本执行起点:
    import os
    print("当前工作目录:", os.getcwd())
  • 列出目标文件夹内容,验证文件是否真实存在:
    print("目录内文件:", os.listdir(r"C:\Users\ANGEL\Desktop\Akin Kyosk doc"))
  • 使用正斜杠 / 替代反斜杠(Python中完全合法):
    pd.read_excel("C:/Users/ANGEL/Desktop/Akin Kyosk doc/Sales.xlsx")  # ✅ 有效且简洁

⚠️ 注意事项

  • 确保已安装 openpyxl(读取 .xlsx)或 xlrd(旧版 .xls)引擎:
    pip install openpyxl  # 大多数情况只需此包
  • 若路径含中文,确保Python环境支持UTF-8(现代IDE和Python 3.7+默认支持,无需额外处理)。
  • 避免截图报错信息——直接复制终端中的完整错误文本(含Traceback),便于精准诊断。

通过规范路径构建 + 主动验证 os.path.exists(),90%以上的 read_excel 路径问题都能迎刃而解。记住:路径不是“写出来就行”,而是“系统能精确定位到才行”


# linux  # excel  # python  # windows  # 操作系统  # 编码  # mac  # macos  # win  # cos 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 怎么制作一个起泡网,水泡粪全漏粪育肥舍冬季氨气超过25ppm,可以有哪些措施降低舍内氨气水平?  无锡营销型网站制作公司,无锡网选车牌流程?  php打包exe后无法访问网络共享_共享权限设置方法【教程】  Laravel中的Facade(门面)到底是什么原理  js代码实现下拉菜单【推荐】  学生网站制作软件,一个12岁的学生写小说,应该去什么样的网站?  简历没回改:利用AI润色让你的文字更专业  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  宙斯浏览器文件分类查看教程 快速筛选视频文档与图片方法  网站制作报价单模板图片,小松挖机官方网站报价?  如何在 Telegram Web View(iOS)中防止键盘遮挡底部输入框  Laravel如何实现全文搜索功能?(Scout和Algolia示例)  如何选择PHP开源工具快速搭建网站?  Claude怎样写结构化提示词_Claude结构化提示词写法【教程】  Laravel 419 page expired怎么解决_Laravel CSRF令牌过期处理  大学网站设计制作软件有哪些,如何将网站制作成自己app?  Win11怎么关闭专注助手 Win11关闭免打扰模式设置【操作】  Laravel怎么为数据库表字段添加索引以优化查询  SQL查询语句优化的实用方法总结  Laravel安装步骤详细教程_Laravel环境搭建指南  Laravel如何实现多级无限分类_Laravel递归模型关联与树状数据输出【方法】  Laravel怎么判断请求类型_Laravel Request isMethod用法  北京网站制作公司哪家好一点,北京租房网站有哪些?  如何在建站宝盒中设置产品搜索功能?  Bootstrap CSS布局之列表  如何在阿里云服务器自主搭建网站?  高性能网站服务器部署指南:稳定运行与安全配置优化方案  香港服务器部署网站为何提示未备案?  网站建设保证美观性,需要考虑的几点问题!  Laravel如何安装使用Debugbar工具栏_Laravel性能调试与SQL监控插件【步骤】  Laravel怎么写单元测试_PHPUnit在Laravel项目中的基础测试入门  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  如何破解联通资金短缺导致的基站建设难题?  如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  edge浏览器无法安装扩展 edge浏览器插件安装失败【解决方法】  焦点电影公司作品,电影焦点结局是什么?  个人网站制作流程图片大全,个人网站如何注销?  Laravel怎么实现前端Toast弹窗提示_Laravel Session闪存数据Flash传递给前端【方法】  网站优化排名时,需要考虑哪些问题呢?  Win11怎么设置虚拟桌面 Win11新建多桌面切换操作【技巧】  iOS发送验证码倒计时应用  瓜子二手车官方网站在线入口 瓜子二手车网页版官网通道入口  Laravel如何使用Socialite实现第三方登录?(微信/GitHub示例)  Laravel如何实现用户密码重置功能?(完整流程代码)  如何在IIS7中新建站点?详细步骤解析  Laravel怎么多语言本地化设置_Laravel语言包翻译与Locale动态切换【手册】  Bootstrap整体框架之JavaScript插件架构  怎么用AI帮你设计一套个性化的手机App图标?  Laravel如何处理文件下载请求?(Response示例)  Laravel怎么配置自定义表前缀_Laravel数据库迁移与Eloquent表名映射【步骤】