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

R语言readxl包读取Excel指定工作表报错问题咨询

故障表现
  • 此前可正常运行的读取同个Excel多工作表的R代码,突然触发报错:

Error: path does not exist: ‘data/GTSurveyCoded with financial status-2.xlsx’

  • 异常特征:显式指定sheet参数为文件第一个工作表时可正常读取,尝试读取其余任意工作表均触发上述报错
  • 已完成前置排查:确认目标Excel文件已正常保存、readxl包更新至最新版本、文件路径与文件名无拼写错误

故障复现代码如下:

library(readxl)
library(ggplot2)

PostSurveyData = read_excel("data/GTSurveyCoded with financial status-2.xlsx", 
                                                    sheet = "GTPostSure")
修复操作(按优先级从高到低尝试)
  • 优先修复Excel文件结构损坏
    这是该类突发故障的最高发原因:如果文件存放在同步盘(OneDrive、坚果云、企业云盘等),同步过程中编辑、上次保存时程序异常退出,都会导致xlsx内部结构损坏,此时readxl只能识别首个工作表,读取其余表时会误报路径不存在。
    操作:手动打开目标Excel文件,点击「文件-另存为」,重新存为一个新的.xlsx格式文件,替换代码里的文件路径为新文件路径后重新运行即可。
  • 排查工作表名称的不可见字符
    不要手动输入工作表名称,先运行以下代码获取文件内所有工作表的真实名称,复制返回结果里的对应表名填入sheet参数:
    # 括号内替换为你的文件实际路径
    excel_sheets("data/GTSurveyCoded with financial status-2.xlsx")
    
    常见问题包括工作表名前后带不可见空格、全角半角符号混淆、残留特殊控制字符,肉眼识别的名称和实际存储的名称不一致,导致匹配失败。
  • 排查文件占用与路径异常
    1. 关闭所有打开该Excel文件的程序(WPS、Office Excel等),解除文件锁定后重试
    2. 如果文件存放在系统受保护目录(C盘根目录、Program Files文件夹等),将文件移动到普通非系统保护目录(比如项目文件夹、桌面)后重试
    3. 放弃相对路径,用file.choose()手动选择文件获取绝对路径测试,排除工作目录变动导致的匹配问题:
      PostSurveyData = read_excel(file.choose(), sheet = "GTPostSure")
      
      运行后在弹出的文件选择窗口手动选中目标文件即可。
  • 临时兼容方案
    如果上述操作都无效,将需要读取的目标工作表单独另存为独立的xlsx文件,再用read_excel读取,绕过原多工作表文件的结构异常。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.30 01:21:32