#excel
#excel
Вопрос:
Я очень застрял здесь, любые предложения приветствуются.
Я пишу пакет R в RStudio, который обрабатывает много данных внутри ./data-raw/
. У меня есть несколько последовательных папок с одним и тем же .xls
именем файла в каждой, например Table 1.xls
.
Я написал цикл, который генерирует требуемый путь имя файла, а затем считывает excel read.xlsx
из xlsx
пакета (но я также тестировал это с read_excel
readxl
помощью пакета с тем же результатом).
Файл существует, путь указан правильно, я нахожусь в правильном рабочем каталоге (я также пробовал это вручную, автоматически заполнив файл в 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 был скрытый лист, который также оказался файлом в другом каталоге. -_-
Ответ №1:
Поскольку мы не знаем вашу структуру папок, мы не можем быть уверены, что это исправит все ваши проблемы, но вы перезаписываете 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)
}