R语言read.xlsx读取Excel报错需提供工作表名或索引如何解决
问题原因
- 包版本更新:你使用的
read.xlsx()通常来自openxlsx包,该包部分新版本取消了sheet参数的默认取值,旧版本默认读取第一个工作表,新版本要求必须显式指定工作表 - 包函数冲突:如果你的环境中同时加载了
xlsx和openxlsx两个包,二者都包含read.xlsx()函数,若当前调用的是xlsx包的该函数,本身就要求必须指定工作表,没有默认值
解决方案
- 直接补充工作表参数:读取第一个工作表可以直接指定
sheet = 1,修改后的代码如下:
df = read.xlsx("C:/Users/......xlsx", sheet = 1)
如果知道工作表的具体名称,也可以直接传入名称,比如sheet = "原始数据",兼容性更好,不会因为后续工作表顺序调整出错
- 显式指定函数所属包:避免包命名空间冲突,比如确认之前使用的是openxlsx包的函数,可以写成:
df = openxlsx::read.xlsx("C:/Users/......xlsx", sheet = 1)
内容的提问来源于stack exchange,提问作者fary
相关产品推荐
相关产品推荐

