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

Python生成路径后pd.read_excel触发FileNotFoundError问题求助

解决pd.read_excel()报FileNotFoundError的问题

问题说明

通过os.path.abspath(os.path.dirname(sys.argv[0]))获取脚本目录,再用os.path.join拼接Excel文件路径,生成路径为C:\\BaptismalSlideShow\\BaptismTiltesTooPictures.xlsx,但pd.read_excel()读取时提示文件找不到。手动将双反斜杠改为单反斜杠可在资源管理器打开文件,甚至手动写路径字符串也无法解决问题。

核心排查点

注意:Python打印的双反斜杠是字符串转义的显示形式,实际存储的是单反斜杠,这不是报错的根源,重点检查以下内容:

  • 文件名拼写:代码中写的是BaptismTiltesTooPictures.xlsx,确认实际文件名是否存在拼写错误(比如Tiltes是不是应该是Titles)
  • 文件实际位置:确保Excel文件确实在脚本所在的C:\BaptismalSlideShow目录下,而非子目录或其他路径
  • 隐藏扩展名干扰:Windows默认隐藏已知文件扩展名,可能实际文件名是BaptismTiltesTooPictures.xlsx.xlsx,需开启“显示文件扩展名”查看
  • 权限问题:运行脚本的用户是否拥有该文件的读取权限
  • 工作目录验证:添加print(os.getcwd())确认当前工作目录,排除其他路径干扰

解决方案示例

在代码中加入文件存在性检查,同时修正可能的拼写错误:

from pptx import Presentation
import datetime
import pandas as pd
import os
import sys
from collections import Counter
from pptx.util import Inches, Pt
from pptx.enum.shapes import MSO_SHAPE
from PIL import Image
from pptx.dml.color import RGBColor
import numpy as np

scriptdir = os.path.abspath(os.path.dirname(sys.argv[0]))
# 打印关键路径信息,辅助排查
print("当前工作目录:", os.getcwd())
print("脚本所在目录:", scriptdir)

now = datetime.datetime.now()

TEST_FILE_PATH = os.path.join(scriptdir, "master.pptx")
# 修正文件名拼写(假设实际是Titles而非Tiltes)
BAP_DATA_PATH = os.path.join(scriptdir, "BaptismTitlesTooPictures.xlsx")
test_save = os.path.join(scriptdir, "Generated Baptismal Slide Show (Generated {}).pptx".format(now.strftime("%b %d, %Y at %I %M %S")))
WHEAT = os.path.join(scriptdir, "Wheat.jpg")

print("Excel文件路径:", BAP_DATA_PATH)
# 先检查文件是否存在
if os.path.exists(BAP_DATA_PATH):
    print("文件存在,开始读取")
    bap_pic_df = pd.read_excel(io=BAP_DATA_PATH)
else:
    print("文件不存在,请检查路径和文件名是否正确")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.16 20:13:12