首页 > 解决方案 > R读入错误的文件

问题描述

我非常卡在这里,任何建议表示赞赏。

我正在 RStudio 中编写一个 R 包,它在内部处理大量数据./data-raw/。我有多个顺序文件夹,.xls每个文件夹中都有相同的文件,例如Table 1.xls.

我写了一个循环来生成所需的路径+文件名,然后read.xlsxxlsx包中读取 excel(但我也read_excelreadxl包中测试了这个,结果相同)。

该文件存在,路径拼写正确,我在正确的工作目录中(我也通过在 RStudio 中自动完成文件手动尝试过)。然而它在几次迭代后读入了错误的文件。

processedData = list()
for(i in 1:10){
  fileName = paste("./AB-",i,"/Table 1.xls",sep="")
  data = read.xlsx(fileName,sheetIndex = 1)
  
  # Then I have a section that processes the data
  # **************
  boop = ...

  # And then I save that data
  processedData[[i]] = boop
}

没有错误消息,它只是加载了错误的文件。

我不知所措。

更新

这只是一个文件。
如果我通过文件资源管理器(我在 Windows 10 上)或 RStudio 的文件窗格打开它,它会打开我所期望的。
如果我通过 R 或 RStudio 打开它,它会打开一个不同的文件。

更新 2

如果我删除了我想打开的文件,它就无法打开任何东西(很好!)。
但是,如果我保留要打开的文件,但删除它实际上读入的文件......它仍然设法读入我已删除的文件!

解决了

显然 Excel 文件中有一个隐藏工作表,它恰好也是另一个目录中的文件。-_-

标签: excel

解决方案


由于我们不知道您的文件夹结构,我们无法确定这会解决您的所有问题,但您会覆盖data每次迭代。使用列表存储您的数据文件并继续

data_list <- list()

for(i in 1:10){
  fileName = paste("./AB-",i,"/Table 1.xls",sep="")
  data_list[[i]] = read.xlsx(fileName,sheetIndex = 1)
}

推荐阅读